You've already forked prometheus-fail2ban-exporter
							
							
		
			
				
	
	
		
			86 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| DESTDIR?=
 | |
| PREFIX?=/usr/local
 | |
| EXECUTABLE?=prometheus-fail2ban-exporter
 | |
| 
 | |
| CONTAINER_RUNTIME?=$(shell which podman)
 | |
| 
 | |
| # List make commands
 | |
| .PHONY: ls
 | |
| ls:
 | |
| 	cat Makefile | grep "^[a-zA-Z#].*" | cut -d ":" -f 1 | sed s';#;\n#;'g
 | |
| 
 | |
| # Run project tests
 | |
| .PHONY: test
 | |
| test:
 | |
| 	GONOSUMDB=${GONOSUMDB} \
 | |
| 	GOPROXY=${GOPROXY} \
 | |
| 		go test ./... -v -race
 | |
| 
 | |
| # Look for "suspicious constructs" in source code
 | |
| .PHONY: vet
 | |
| vet:
 | |
| 	GONOSUMDB=${GONOSUMDB} \
 | |
| 	GOPROXY=${GOPROXY} \
 | |
| 		go vet ./...
 | |
| 
 | |
| # Format code
 | |
| .PHONY: fmt
 | |
| fmt:
 | |
| 	GONOSUMDB=${GONOSUMDB} \
 | |
| 	GOPROXY=${GOPROXY} \
 | |
| 		go mod tidy
 | |
| 
 | |
| 	GONOSUMDB=${GONOSUMDB} \
 | |
| 	GOPROXY=${GOPROXY} \
 | |
| 		go fmt ./...
 | |
| 
 | |
| # Check for unformatted go code
 | |
| .PHONY: check/fmt
 | |
| check/fmt:
 | |
| 	test -z $(shell gofmt -l .)
 | |
| 
 | |
| # Build project
 | |
| .PHONY: build
 | |
| build:
 | |
| 	CGO_ENABLED=0
 | |
| 	GONOSUMDB=${GONOSUMDB} \
 | |
| 	GOPROXY=${GOPROXY} \
 | |
| 		go build \
 | |
| 			-ldflags "\
 | |
| 				-X main.version=${shell git describe --tags} \
 | |
| 				-X main.commit=${shell git rev-parse HEAD} \
 | |
| 				-X main.date=${shell date --iso-8601=seconds} \
 | |
| 				-X main.builtBy=manual \
 | |
| 			" \
 | |
| 			-trimpath \
 | |
| 			-o ${EXECUTABLE} \
 | |
| 			exporter.go
 | |
| 
 | |
| # build container-image
 | |
| .PHONY: build/container-image
 | |
| build/container-image:
 | |
| 	${CONTAINER_RUNTIME} build \
 | |
| 		--tag ${EXECUTABLE} \
 | |
| 		.
 | |
| 
 | |
| .PHONY: install
 | |
| install: build
 | |
| 	mkdir --parents ${DESTDIR}/usr/lib/systemd/system
 | |
| 	sed -e "s/EXECUTABLE/${EXECUTABLE}/gm" systemd/systemd.service > ${DESTDIR}/usr/lib/systemd/system/${EXECUTABLE}.service
 | |
| 	chmod 0644 ${DESTDIR}/usr/lib/systemd/system/${EXECUTABLE}.service
 | |
| 
 | |
| 	install -D --mode 0755 --target-directory ${DESTDIR}${PREFIX}/bin ${EXECUTABLE}
 | |
| 
 | |
| # NOTE: Set restrict file permissions by default to protect optional basic auth credentials
 | |
| 	install -D --mode 0600 env ${DESTDIR}/etc/conf.d/${EXECUTABLE}
 | |
| 
 | |
| 	install -D --mode 0755 --target-directory ${DESTDIR}${PREFIX}/share/licenses/${EXECUTABLE} LICENSE
 | |
| 
 | |
| .PHONY: uninstall
 | |
| uninstall:
 | |
| 	-rm --recursive --force \
 | |
| 		${DESTDIR}${PREFIX}/bin/${EXECUTABLE} \
 | |
| 		${DESTDIR}/usr/lib/systemd/system/${EXECUTABLE}.service \
 | |
| 		${DESTDIR}/etc/conf.d/${EXECUTABLE} \
 | |
| 		${DESTDIR}${PREFIX}/share/licenses/${EXECUTABLE}/LICENSE
 |