@@ -5,8 +5,17 @@ KIND_CLUSTER_NAME ?= kubernetes-mcp-server
55#  Detect container engine (docker or podman)
66CONTAINER_ENGINE  ?= $(shell  command -v docker 2>/dev/null || command -v podman 2>/dev/null) 
77
8+ .PHONY : kind-create-certs
9+ kind-create-certs : # # Generate TLS certificates for Keycloak
10+ 	@if [ !  -f  hack/keycloak-certs/ca.crt ];  then  \ 
11+ 		echo  " Generating Keycloak TLS certificates..." ;  \ 
12+ 		./hack/generate-keycloak-certs.sh;  \ 
13+ 	else  \ 
14+ 		echo  " ✅ Certificates already exist" ;  \ 
15+ 	fi 
16+ 
817.PHONY : kind-create-cluster
9- kind-create-cluster : kind # # Create the kind cluster for development
18+ kind-create-cluster : kind kind-create-certs  # # Create the kind cluster for development
1019	@#  Set KIND provider for podman on Linux
1120	@if [ " $( shell uname -s) " !=  " Darwin" &&  echo  " $( CONTAINER_ENGINE) " |  grep -q " podman" ;  then  \ 
1221		export  KIND_EXPERIMENTAL_PROVIDER=podman;  \ 
@@ -16,6 +25,23 @@ kind-create-cluster: kind ## Create the kind cluster for development
1625	else  \ 
1726		echo  " Creating Kind cluster '$( KIND_CLUSTER_NAME) " ;  \ 
1827		$(KIND )  create cluster --name $(KIND_CLUSTER_NAME )  --config config/kind/cluster.yaml;  \ 
28+ 		echo  " Adding ingress-ready label to control-plane node..." ;  \ 
29+ 		kubectl label node $(KIND_CLUSTER_NAME ) -control-plane ingress-ready=true --overwrite;  \ 
30+ 		echo  " Installing nginx ingress controller..." ;  \ 
31+ 		kubectl apply -f config/ingress/nginx-ingress.yaml;  \ 
32+ 		echo  " Waiting for ingress controller to be ready..." ;  \ 
33+ 		kubectl wait  --namespace ingress-nginx --for=condition=ready pod --selector=app.kubernetes.io/component=controller --timeout=90s;  \ 
34+ 		echo  " ✅ Ingress controller ready" ;  \ 
35+ 		echo  " Installing cert-manager..." ;  \ 
36+ 		kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.16.2/cert-manager.yaml;  \ 
37+ 		echo  " Waiting for cert-manager to be ready..." ;  \ 
38+ 		kubectl wait  --namespace cert-manager --for=condition=ready pod --selector=app.kubernetes.io/instance=cert-manager --timeout=120s;  \ 
39+ 		kubectl wait  --namespace cert-manager --for=condition=ready pod --selector=app.kubernetes.io/name=webhook --timeout=120s;  \ 
40+ 		echo  " ✅ cert-manager ready" ;  \ 
41+ 		echo  " Creating cert-manager ClusterIssuer..." ;  \ 
42+ 		sleep 5;  \ 
43+ 		kubectl apply -f config/cert-manager/selfsigned-issuer.yaml;  \ 
44+ 		echo  " ✅ ClusterIssuer created" ;  \ 
1945	fi 
2046
2147.PHONY : kind-delete-cluster
0 commit comments