IMAGE=docker.crute.me/aws-access BINARY=cloud-identity-broker $(BINARY): $(shell find . -name '*.go') go.mod CGO_ENABLED=0 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 \ --hostname=dev.aws-access.crute.me \ --issuer-endpoint="https://dev.aws-access.crute.me" \ web