-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
74 lines (55 loc) · 2.59 KB
/
Makefile
File metadata and controls
74 lines (55 loc) · 2.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# local development commands
help: ## show help message
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m\033[0m\n"} /^[$$()% a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
before_pr: ## format, lint and type-check code
ruff format
ruff check --fix --unsafe-fixes
mypy .
build: ## build app and manually generate self-signed cert
make down
docker compose build
build_test:
docker compose -f docker-compose.test.yml build
up: ## run tty container with related services, use with run command
make down
docker compose up
test: ## run tests
docker compose -f docker-compose.test.yml down --remove-orphans
make down
docker compose -f docker-compose.test.yml up --no-log-prefix --attach test --exit-code-from test
run: ## runs server 386/636 port
clear;docker exec -it multidirectory sh -c "python ."
launch: ## run standalone app without tty container
docker compose down
docker compose run sh -c "python multidirectory.py --migrate && python ."
rerun_last_migration: ## re-run migration
docker exec -it multidirectory_api sh -c "alembic downgrade -1; python multidirectory.py --migrate;"
down: ## shutdown services
docker compose -f docker-compose.test.yml down --remove-orphans
docker compose down --remove-orphans
docker volume prune -f
migrations: ## generate migration file
docker compose run ldap_server alembic revision --autogenerate
migrate: ## upgrade db
docker compose run ldap_server python multidirectory.py --migrate
# server stage/development commands
stage_gen_cert: ## generate self-signed cert
docker compose -f docker-compose.dev.yml run server sh -c "cd /certs; openssl req -nodes -new -x509 -keyout privkey.pem -out cert.pem"
stage_build: ## build stage server
docker compose -f docker-compose.dev.yml down
docker compose -f docker-compose.dev.yml build
stage_up: ## run app and detach
make stage_down
docker compose -f docker-compose.dev.yml up -d
stage_down: ## stop all services
docker compose -f docker-compose.dev.yml down --remove-orphans
stage_update: ## update service
make stage_down
make stage_build
docker compose -f docker-compose.dev.yml pull
make stage_up
docker exec -it multidirectory-ldap sh -c "alembic downgrade -1; python multidirectory.py --migrate; python -m extra.setup_dev"
krb_client_build: ## build krb client service
docker build -f integration_tests/kerberos/Dockerfile . -t krbclient:runtime
krb_client: ## run krb client bash
docker run --rm --init -it --name krbclient --network multidirectory_default krbclient:runtime bash