DOKKU_HOST := dokku@dev.lookingfora.name SHELL := /bin/bash DOCKER_IMAGE_NAME ?= bornholm/hydra-passwordless DOCKER_IMAGE_TAG ?= $(shell git describe --always) build: CGO_ENABLED=0 go build -v -o bin/server ./cmd/server test: go test -v -race ./... release: @$(SHELL) ./misc/script/release.sh tidy: go mod tidy watch: modd lint: golangci-lint run --enable-all up: docker-compose up --build down: docker-compose down -v --remove-orphans create-default-client: docker-compose exec \ -e HYDRA_URL=http://localhost:4445 \ hydra \ hydra clients create \ -c http://localhost:3002/oauth2/callback \ --post-logout-callbacks http://localhost:3002 \ -n "Default App" \ -a "openid" -a "email" list-clients: docker-compose exec \ -e HYDRA_URL=http://localhost:4445 \ hydra \ hydra clients list hydra-interactive: docker-compose exec \ -e HYDRA_URL=http://localhost:4445 \ hydra \ /bin/sh dokku-build: docker build \ -t hydra-passwordless-dokku:latest \ . dokku-run: docker run -it --rm -p 4444:4444 -p 3002:3002 hydra-passwordless-dokku:latest dokku-deploy: dokku-deploy-passwordless dokku-deploy-sso dokku-deploy-passwordless: $(if $(shell git config remote.dokku-passwordless.url),, git remote add dokku-passwordless $(DOKKU_HOST):passwordless) git push -f dokku-passwordless $(shell git rev-parse HEAD):refs/heads/master dokku-deploy-sso: $(if $(shell git config remote.dokku-sso.url),, git remote add dokku-sso $(DOKKU_HOST):sso) git push -f dokku-sso $(shell git rev-parse HEAD):refs/heads/master docker-build: docker build \ --build-arg="HTTP_PROXY=$(HTTP_PROXY)" \ --build-arg="HTTPS_PROXY=${HTTP_PROXY}" \ --build-arg="https_proxy=${https_proxy}" \ --build-arg="http_proxy=${http_proxy}" \ -t hydra-passwordless:latest \ -f ./misc/docker/Dockerfile \ . docker-run: docker run \ -it --rm \ -p 3000:3000 \ hydra-passwordless:latest docker-release: docker-build docker image tag hydra-passwordless:latest $(DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_TAG) docker image tag hydra-passwordless:latest $(DOCKER_IMAGE_NAME):latest docker login docker push $(DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_TAG) docker push $(DOCKER_IMAGE_NAME):latest clean: rm -rf release rm -rf data rm -rf bin .PHONY: lint watch build tidy release