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
|