1
0
mirror of https://github.com/raseels-repos/golang-saas-starter-kit.git synced 2025-06-06 23:46:29 +02:00

117 lines
3.4 KiB
Makefile
Raw Normal View History

SHELL := /bin/bash
all: keys sales-api metrics tracer
keys:
go run ./cmd/sales-admin/main.go --cmd keygen
admin:
go run ./cmd/sales-admin/main.go --cmd useradd --user_email admin@example.com --user_password gophers
sales-api:
docker build \
-t gcr.io/sales-api/sales-api-amd64:1.0 \
--build-arg PACKAGE_NAME=sales-api \
--build-arg VCS_REF=`git rev-parse HEAD` \
--build-arg BUILD_DATE=`date -u +”%Y-%m-%dT%H:%M:%SZ”` \
.
docker system prune -f
metrics:
docker build \
-t gcr.io/sales-api/metrics-amd64:1.0 \
--build-arg PACKAGE_NAME=metrics \
--build-arg PACKAGE_PREFIX=sidecar/ \
--build-arg VCS_REF=`git rev-parse HEAD` \
--build-arg BUILD_DATE=`date -u +”%Y-%m-%dT%H:%M:%SZ”` \
.
docker system prune -f
tracer:
cd "$$GOPATH/src/geeks-accelerator/oss/saas-starter-kit/example-project"
docker build \
-t gcr.io/sales-api/tracer-amd64:1.0 \
--build-arg PACKAGE_NAME=tracer \
--build-arg PACKAGE_PREFIX=sidecar/ \
--build-arg VCS_REF=`git rev-parse HEAD` \
--build-arg BUILD_DATE=`date -u +”%Y-%m-%dT%H:%M:%SZ”` \
.
docker system prune -f
up:
docker-compose up
down:
docker-compose down
test:
cd "$$GOPATH/src/geeks-accelerator/oss/saas-starter-kit/example-project"
go test ./...
clean:
docker system prune -f
stop-all:
docker stop $(docker ps -aq)
remove-all:
docker rm $(docker ps -aq)
#===============================================================================
# GKE
config:
@echo Setting environment for sales-api
gcloud config set project sales-api
gcloud config set compute/zone us-central1-b
gcloud auth configure-docker
@echo ======================================================================
project:
gcloud projects create sales-api
gcloud beta billing projects link sales-api --billing-account=$(ACCOUNT_ID)
gcloud services enable container.googleapis.com
@echo ======================================================================
cluster:
gcloud container clusters create sales-api-cluster --num-nodes=2 --machine-type=n1-standard-2
gcloud compute instances list
@echo ======================================================================
upload:
docker push gcr.io/sales-api/sales-api-amd64:1.0
docker push gcr.io/sales-api/metrics-amd64:1.0
docker push gcr.io/sales-api/tracer-amd64:1.0
@echo ======================================================================
database:
kubectl create -f gke-deploy-database.yaml
kubectl expose -f gke-expose-database.yaml --type=LoadBalancer
@echo ======================================================================
services:
kubectl create -f gke-deploy-sales-api.yaml
kubectl expose -f gke-expose-sales-api.yaml --type=LoadBalancer
@echo ======================================================================
shell:
kubectl exec -it pod-name --container name -- /bin/bash
@echo ======================================================================
status:
gcloud container clusters list
kubectl get nodes
kubectl get pods
kubectl get services sales-api
@echo ======================================================================
delete:
kubectl delete services sales-api
kubectl delete deployment sales-api
gcloud container clusters delete sales-api-cluster
gcloud projects delete sales-api
docker image remove gcr.io/sales-api/sales-api-amd64:1.0
docker image remove gcr.io/sales-api/metrics-amd64:1.0
docker image remove gcr.io/sales-api/tracer-amd64:1.0
@echo ======================================================================