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