-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
59 lines (40 loc) · 1.83 KB
/
Copy pathMakefile
File metadata and controls
59 lines (40 loc) · 1.83 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
CONTAINER_RT?=podman
REPO?=slaclab
POD?=user-lookup
TAG?=latest
PYTHON_DIR?=~/.local/miniconda3/bin
PYTHON_BIN?=$(PYTHON_DIR)/python3
PIP_BIN?=$(PYTHON_DIR)/pip3
VENV_BIN?=$(PYTHON_DIR)/activate
UVICORN?=$(PYTHON_DIR)/uvicorn
LDAP_SERVER ?= ldaps://ldap-ad.slac.stanford.edu:636
LDAP_USER_BASEDN ?= DC=win,DC=slac,DC=Stanford,DC=edu
LDAP_BIND_USERNAME ?= CN=osmaint,OU=Service-Accounts,OU=SCS,DC=win,DC=slac,DC=stanford,DC=edu
SECRET_PATH ?= secret/tid/scs/osmaint
SDF_LDAP_SERVER ?= ldaps://sdfldap001.sdf.slac.stanford.edu
SDF_LDAP_USER_BASEDN ?= dc=sdf,dc=slac,dc=stanford,dc=edu
APP_MOUNT ?= -v ./:/app
DEBUG ?= "1"
secrets:
mkdir -p etc/.secrets
vault kv get --field=password -format=table $(SECRET_PATH) > etc/.secrets/ldap.password
vault kv get --field=token -format=table secret/tid/coact-dev/urawi > etc/.secrets/urawi.token
build:
$(CONTAINER_RT) build -t $(REPO)/$(POD):$(TAG) .
push:
$(CONTAINER_RT) push $(REPO)/$(POD):$(TAG)
containers: build push
virtualenv:
$(PYTHON_BIN) -m venv .
pip:
$(PYTHON_BIN) -m pip install --upgrade pip
source $(VENV_BIN) && $(PIP_BIN) install -r requirements.txt
devenv: virtualenv pip
delenv:
rm -rf bin lib lib64 pip-selfcheck.json pyvenv.cfg __pycache__
start:
source $(VENV_BIN) && $(UVICORN) main:app --host 0.0.0.0 --reload
start-container:
$(CONTAINER_RT) run -p 8000:8000 $(APP_MOUNT) -e DEBUG=$(DEBUG) -e URAWI_TOKEN=$(shell cat etc/.secrets/urawi.token) -e SOURCE_LDAP_SERVER=$(LDAP_SERVER) -e SOURCE_LDAP_BIND_USERNAME=$(LDAP_BIND_USERNAME) -e SOURCE_LDAP_BIND_PASSWORD='$(shell cat etc/.secrets/ldap.password)' -e SOURCE_LDAP_USER_BASEDN=$(LDAP_USER_BASEDN) -it $(REPO)/$(POD):$(TAG)
query:
curl sdfiana007:8000/graphql -X POST -H 'content-type: application/json' --data '{ "query": "query{ users(filter: {username: \"ytl\"}) { username uidnumber preferredemail eppns } }" }'