hydra-passwordless/Makefile

98 lines
2.2 KiB
Makefile

DOKKU_HOST := dokku@dev.lookingfora.name
SHELL := /bin/bash
DOCKER_IMAGE_NAME ?= bornholm/hydra-passwordless
DOCKER_IMAGE_TAG ?= $(shell date +%Y%m%d%H%M)
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