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