.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