authd/makefile

102 lines
2.3 KiB
Makefile
Raw Normal View History

2024-03-23 11:47:30 +01:00
all: build-server
2023-05-29 20:41:12 +02:00
Q ?= @
SHOULD_UPDATE = ./bin/should-update
OPTS ?= --progress
2023-05-29 20:41:12 +02:00
NAME ?= John
EMAIL ?= john@example.com
2023-06-08 17:33:43 +02:00
2023-06-14 21:00:15 +02:00
# For requests where authentication is required.
LOGIN ?=
ifeq ($(LOGIN),)
LOGIN_OPT =
else
LOGIN_OPT = -l $(LOGIN)
endif
2023-06-08 17:33:43 +02:00
2023-06-14 21:00:15 +02:00
##################
### SETUP COMMANDS
##################
PASSWORD_FILE ?= /tmp/PASSWORD
2023-06-08 17:33:43 +02:00
setup:
@[ -f $(PASSWORD_FILE) ] || echo -n "coucou" > $(PASSWORD_FILE)
2023-06-14 21:00:15 +02:00
DATA_DIRECTORY ?= /tmp/DATA-AUTHD
2023-06-08 17:33:43 +02:00
run-authd: setup
2023-06-16 01:28:10 +02:00
./bin/authd -k $(PASSWORD_FILE) -R -E --storage $(DATA_DIRECTORY)
2023-05-29 20:41:12 +02:00
2023-06-14 21:00:15 +02:00
# First user always is the admin.
add-first-user:
./bin/authc bootstrap $(NAME) $(EMAIL)
####################
### REQUEST EXAMPLES
####################
add-user:
./bin/authc user add $(NAME) $(EMAIL) $(LOGIN_OPT)
2023-06-15 00:41:56 +02:00
register:
./bin/authc user register $(NAME) $(EMAIL)
2023-06-15 02:43:24 +02:00
ACTIVATION_KEY ?= put-your-key-here
validate:
./bin/authc user validate $(NAME) $(ACTIVATION_KEY)
get-user:
./bin/authc user get $(NAME) $(LOGIN_OPT)
2023-06-15 00:03:12 +02:00
SERVICE ?= 'auth'
RESOURCE ?= '*'
UID ?= 1000
permission-check:
./bin/authc permission check $(UID) $(SERVICE) $(RESOURCE) $(LOGIN_OPT)
PERMISSION ?= Read
permission-set:
./bin/authc permission set $(UID) $(SERVICE) $(RESOURCE) $(PERMISSION) $(LOGIN_OPT)
2023-06-14 21:00:15 +02:00
###################
### DEVELOPER TOOLS
###################
build-server:
2024-03-17 05:40:48 +01:00
$(Q)-$(SHOULD_UPDATE) bin/authd && shards build authd $(OPTS)
2023-06-14 21:00:15 +02:00
build-client:
2024-03-17 05:40:48 +01:00
$(Q)-$(SHOULD_UPDATE) bin/authc && shards build authc $(OPTS)
2023-06-14 21:00:15 +02:00
build: build-server build-client
doc:
crystal docs
HTTPD_ACCESS_LOGS ?= /tmp/access-authd-docs.log
HTTPD_ADDR ?= 127.0.0.1
HTTPD_PORT ?= 9000
DIR ?= docs
serve-doc:
darkhttpd $(DIR) --addr $(HTTPD_ADDR) --port $(HTTPD_PORT) --log $(HTTPD_ACCESS_LOGS)
2023-06-12 20:54:41 +02:00
print-messages:
cat src/requests/*.cr | ./bin/get-messages.awk
2023-06-13 03:16:59 +02:00
print-message-numbers:
2023-06-14 01:47:40 +02:00
make -s print-messages | grep -E "^[0-9]" | sort -n
print-messages-without-comments:
2023-06-14 01:47:40 +02:00
make -s print-messages | grep -vE '^[[:blank:]]+#'
print-response-messages:
2023-06-14 01:47:40 +02:00
cat src/responses/*.cr | ./bin/get-messages.awk
print-response-message-numbers:
make -s print-response-messages | grep -E "^[0-9]" | sort -n
print-response-messages-without-comments:
make -s print-response-messages | grep -vE '^[[:blank:]]+#'
wipe-db:
rm -r $(DATA_DIRECTORY)
release:
make build-server OPTS="--progress --release"