aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: 6bdfb3c2e31f0a87a081ee939ad7e0c30f58cea6 (plain)
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
IMAGE=docker.crute.me/aws-access
BINARY=cloud-identity-broker

$(BINARY): main.go $(shell find . -name '*.go')
	go build -ldflags "-X main.appVersion=$(shell git describe --long --tags --dirty --always)" -o $@ $<

.PHONY: vet
vet: main.go
	go vet $<

.PHONY: docker
docker:
	mkdir docker; cp Dockerfile docker; cd docker; \
	docker pull nginx:mainline-alpine; \
	docker build --no-cache -t $(IMAGE):stage .

.PHONY: publish
publish:
	docker push $(IMAGE):stage

.PHONY: publish-prod
publish-prod:
	docker tag $(IMAGE):stage $(IMAGE):latest
	docker push $(IMAGE):latest

.PHONY: clean
clean:
	rm -rf docker || true
	rm $(BINARY) || true

.PHONY: run-web
run-web: clean $(BINARY)
	test -n "$(VAULT_ROLE_ID)" # Caller must export VAULT_ROLE_ID
	test -n "$(VAULT_SECRET_ID)" # Caller must also export VAULT_SECRET_ID
	VAULT_ADDR="$(VAULT_ADDR)" \
		./$(BINARY) --debug \
		--mongodb-uri="$(MONGODB_URL)" \
		--mongodb-vault-path="$(MONGODB_VAULT_PATH)" \
		--github-oauth-vault-path="$(GITHUB_VAULT_PATH)" \
		web