weather/Makefile

56 lines
1.5 KiB
Makefile

.PHONY: gen-cert build-weather build-poller gen-cert dev-dependencies cert-info cert-info-remote curl-test clean get-root-ca
.EXPORT_ALL_VARIABLES:
GOARCH=amd64
# GOARCH=arm
GOOS=linux
# GOOS=darwin
LDFLAGS=-w -s -d
GOBUILDFLAGS=
DOCKER_BUILDKIT=1
CGO_ENABLED=0
build: build-poller build-weather
build-weather: dependencies
@echo "build for os $$GOOS and arch $$GOARCH"
go build -o bin/weather-$(GOOS)-$(GOARCH) cmd/weather/main.go
build-poller: dependencies
@echo "build for os $$GOOS and arch $$GOARCH"
go build -o bin/poller-$(GOOS)-$(GOARCH) -ldflags="$(LDFLAGS)" $(GOBUILDFLAGS) cmd/poller/main.go
gen-cert:
cfssl gencert -config certs/client-config.json -profile server -hostname weather.localdomain certs/client-csr.json | cfssljson -bare certs/out/weather
dependencies:
go mod download
go mod verify
dev-dependencies:
go get github.com/cloudflare/cfssl/cmd/cfssl
go get github.com/cloudflare/cfssl/cmd/cfssljson
go get github.com/cloudflare/cfssl/cmd/mkbundle
cert-info:
cfssl certinfo -cert certs/out/weather.pem
cert-info-remote:
cfssl certinfo -domain weather.localdomain:8080
curl-test:
curl --cacert certs/out/ca.pem https://weather.localdomain:8080
clean:
rm -rf bin/*
get-root-ca:
cfssl info -remote rasp1.localdomain:444 -config certs/client-config.json | cfssljson -bare -stdout /dev/stdout | tee certs/out/ca.pem
docker: docker-build docker-push
docker-build:
docker build -t docker.registry:5000/weather .
docker-push:
docker push docker.registry:5000/weather