CHART_REPO := http://chartmuseum:8080/innopharm
DIR := env
NAMESPACE := production
USER := $(shell whoami)
PROJECT_ZONE := asia-southeast2-a
PROJECT_ID := virtue-panakea
CLUSTER_NAME := black-bear
GCS_BUCKET := pharmalink-id-chartmuseum

build: clean
	rm -rf ${DIR}/Chart.lock
	helm version
	helm repo add innopharm ${CHART_REPO} --force-update
	helm dependency build ${DIR}
	helm lint ${DIR}

pull:
	# helm version
	# helm repo add innopharm ${CHART_REPO} --force-update
	# helm pull innopharm/${PROJECT_NAME} --version=${PROJECT_VERSION}
	gsutil cp gs://$(GCS_BUCKET)/$(CHART_ORG)/$(PROJECT_NAME)-$(PROJECT_VERSION).tgz .

install: 
	gcloud container clusters get-credentials ${CLUSTER_NAME} --project=${PROJECT_ID} --zone=${PROJECT_ZONE}
	helm upgrade ${NAMESPACE} ${DIR} --install --create-namespace --namespace ${NAMESPACE} --debug

install-independent:
	# Connect to cluster
	gcloud container clusters get-credentials ${CLUSTER_NAME} --project=${PROJECT_ID} --zone=${PROJECT_ZONE}

	# Copy kube config
	cat ~/.kube/config > kube-current.config

	# Change kube context
	yq -e '.current-context = "gke_$(PROJECT_ID)_$(PROJECT_ZONE)_$(CLUSTER_NAME)"' -i kube-current.config

	# Deploy project
	helm upgrade ${PROJECT_NAME} ${PROJECT_NAME}-${PROJECT_VERSION}.tgz --install --create-namespace --namespace ${NAMESPACE} --kubeconfig kube-current.config --debug
	
	# Remove project chart
	rm ${PROJECT_NAME}-${PROJECT_VERSION}.tgz

delete:
	helm delete --purge ${NAMESPACE}  --namespace ${NAMESPACE}

clean:


