60 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| image_name = localhost:5000/explorecalifornia-web
 | |
| install_name = explorecalifornia-website
 | |
| cluster = explorecalifornia
 | |
| 
 | |
| .PHONY := build_image \
 | |
| 	docker_registry \
 | |
| 	docker_registry_down \
 | |
| 	kind_cluster \
 | |
| 	kind_cluster_down \
 | |
| 	deploy \
 | |
| 	uninstall \
 | |
| 	up \
 | |
| 	down \
 | |
| 	test
 | |
| .DEFAULT_GOAL := up
 | |
| 
 | |
| docker_registry:
 | |
| 	docker network inspect kind >/dev/null 2>&1 || \
 | |
| 		docker network create kind
 | |
| 	docker volume inspect registry_data >/dev/null 2>&1 || \
 | |
| 		docker volume create registry_data
 | |
| 	docker container inspect registry >/dev/null 2>&1 || \
 | |
| 		docker run -d -p 127.0.0.1:5000:5000 -v registry_data:/var/lib/registry --restart unless-stopped --network kind --name registry registry:2
 | |
| 
 | |
| docker_registry_down:
 | |
| 	docker container inspect registry >/dev/null 2>&1 && ( \
 | |
| 		docker container stop registry; docker container rm registry; \
 | |
| 	) || true
 | |
| 	docker volume inspect registry_data >/dev/null 2>&1 && docker volume rm registry_data || true
 | |
| 
 | |
| build_image:
 | |
| 	docker build -t $(image_name) . && \
 | |
| 		docker push $(image_name)
 | |
| 
 | |
| kind_cluster:
 | |
| 	kind get clusters | grep -x '$(cluster)' >/dev/null 2>&1 || kind create cluster -n $(cluster) --wait 1m  --config ./kind.yaml
 | |
| 	kind export kubeconfig -n $(cluster)
 | |
| 	kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml && \
 | |
| 		sleep 5 && \
 | |
| 		kubectl wait --namespace ingress-nginx \
 | |
| 		--for=condition=ready pod \
 | |
| 		--selector=app.kubernetes.io/component=controller \
 | |
| 		--timeout=90s
 | |
| 
 | |
| kind_cluster_down:
 | |
| 	kind get clusters | grep -x '$(cluster)' >/dev/null 2>&1 && kind delete cluster -n $(cluster) || true
 | |
| 
 | |
| deploy:
 | |
| 	helm upgrade --atomic --install $(install_name) ./chart
 | |
| 
 | |
| uninstall:
 | |
| 	helm uninstall $(install_name)
 | |
| 
 | |
| test:
 | |
| 	curl -s --resolve explorecalifornia.com:80:127.0.0.1 http://explorecalifornia.com | head
 | |
| 
 | |
| up: docker_registry build_image kind_cluster deploy
 | |
| 
 | |
| down: kind_cluster_down docker_registry_down
 |