github.com/qubitproducts/logspray@v0.2.14/Makefile (about) 1 NAME=logspray 2 VERSION=0.4.0 3 4 .PHONY: protoc server packages clean binary deploy-staging deploy-production 5 6 all: protoc server 7 8 protoc: proto/logspray/log.pb.go proto/logspray/log.pb.gw.go 9 10 proto/logspray/log.pb.go: proto/logspray/log.proto 11 protoc -I/usr/local/include \ 12 -I. \ 13 -I$$GOPATH/src \ 14 -I$$GOPATH/src/github.com/golang/protobuf/ptypes \ 15 -I$$GOPATH/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis \ 16 --go_out=plugins=grpc:. proto/logspray/log.proto 17 18 proto/logspray/log.pb.gw.go: proto/logspray/log.proto 19 protoc -I/usr/local/include \ 20 -I. \ 21 -I$$GOPATH/src \ 22 -I$$GOPATH/src/github.com/golang/protobuf/ptypes \ 23 -I$$GOPATH/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis \ 24 --grpc-gateway_out=logtostderr=true:. proto/logspray/log.proto 25 26 server: protoc 27 $(MAKE) -C server/ 28 29 clean: 30 rm -f proto/logspray/log.pb.go proto/logspray/log.pb.gw.go 31 32 build-docker-binary: logs 33 34 logs: protoc server 35 CGO_ENABLED=0 cd cmd/logs && go build -i -o ../../logs 36 37 prepare-deploy: build-docker-binary 38 39 PACKAGE_NAME=logspray 40 PACKAGE_VERSION=$(VERSION) 41 42 PACKAGE_REVISION=0 43 PACKAGE_ARCH=amd64 44 PACKAGE_MAINTAINER=tristan@qubit.com 45 PACKAGE_FILE=$(PACKAGE_NAME)_$(PACKAGE_VERSION)-$(PACKAGE_REVISION)_$(PACKAGE_ARCH).deb 46 47 BINNAME=logs 48 49 PWD=$(shell pwd) 50 CURL=/usr/bin/curl 51 52 .PHONY: 53 54 package-dist: $(BINNAME) 55 mkdir -p dist/$(BINNAME)/usr/local/bin 56 install -m755 $(BINNAME) dist/$(BINNAME)/usr/local/bin/$(BINNAME) 57 mkdir -p dist/$(BINNAME)/etc/init 58 mkdir -p dist/$(BINNAME)/etc/default 59 install -m644 $(BINNAME).conf dist/$(BINNAME)/etc/init/$(BINNAME).conf 60 install -m644 $(BINNAME).defaults dist/$(BINNAME)/etc/default/$(BINNAME) 61 mkdir -p dist/$(BINNAME)/etc/$(BINNAME) 62 echo '{}' dist/$(BINNAME)/etc/$(BINNAME)/service.json 63 64 packages: package-dist 65 cd dist/$(BINNAME) && \ 66 fpm \ 67 -t deb \ 68 -m $(PACKAGE_MAINTAINER) \ 69 -n $(PACKAGE_NAME) \ 70 -a $(PACKAGE_ARCH) \ 71 -v $(PACKAGE_VERSION) \ 72 --iteration $(PACKAGE_REVISION) \ 73 -s dir \ 74 -p ../../$(PACKAGE_FILE) \ 75 . 76 77 deb-clean: 78 rm -f $(PACKAGE_FILE) 79 rm -rf dist 80 rm -rf build 81 82 83 KUBE_CONTEXT_BASE=k8.irl.aws.qutics.com 84 85 CONTAINER_VERSION=$(shell git rev-parse HEAD) 86 DOCKER_IMAGE=logspray:latest 87 88 docker-build: prepare-deploy 89 docker build -t $(DOCKER_IMAGE) . 90 docker tag $(DOCKER_IMAGE) $(DOCKER_AWS_IMAGE) 91 92 docker-push: docker-build 93 docker push $(DOCKER_IMAGE) 94 95 kubectl --context "$*.$(KUBE_CONTEXT_BASE)" delete pod -l app=logspray-reader 96 kubectl --context "$*.$(KUBE_CONTEXT_BASE)" delete pod -l app=logspray-server 97 98 deploy: 99 helm --kube-context "$*.$(KUBE_CONTEXT_BASE)" upgrade \ 100 --set global.dockerImage=${DOCKER_IMAGE} 101 --debug \ 102 logspray-server \ 103 ./helm/logspray 104