11#! /bin/sh
22
3- export K8S_MINIKUBE_CPUS=" ${K8S_MINIKUBE_CPUS:- 2} "
4- export K8S_MINIKUBE_MEMORY=" ${K8S_MINIKUBE_MEMORY:- 4GB} "
5- export K8S_MINIKUBE_DISK=" ${K8S_MINIKUBE_DISK:- 20GB} "
6- export K8S_MINIKUBE_DRIVER=" ${K8S_MINIKUBE_DRIVER:- docker} "
7- export K8S_MINIKUBE_CONTAINER_RUNTIME=" ${K8S_MINIKUBE_CONTAINER_RUNTIME:- containerd} "
8- export K8S_MINIKUBE_FEATURE_GATES=" ${K8S_MINIKUBE_FEATURE_GATES:- x} "
3+ export MINIKUBE_NAME=" ${MINIKUBE_NAME:- minikube} "
4+ export MINIKUBE_CPUS=" ${MINIKUBE_CPUS:- 8} "
5+ export MINIKUBE_MEMORY=" ${MINIKUBE_MEMORY:- 8GB} "
6+ export MINIKUBE_DISK=" ${MINIKUBE_DISK:- 40GB} "
7+ export MINIKUBE_DRIVER=" ${MINIKUBE_DRIVER:- virtualbox} "
8+ export MINIKUBE_CONTAINER_RUNTIME=" ${MINIKUBE_CONTAINER_RUNTIME:- containerd} "
9+ export MINIKUBE_FEATURE_GATES=" ${MINIKUBE_FEATURE_GATES:- x} "
910
1011check_minikube_version () {
11- if ! minikube version | grep -q -F ' minikube version: v1.24 .0'
12+ if ! minikube version | grep -q -F ' minikube version: v1.34 .0'
1213 then
13- echo " minikube version v1.24 .0 is required"
14+ echo " minikube version v1.34 .0 is required"
1415 return 1
1516 fi
1617}
@@ -23,7 +24,7 @@ get_k8s_env_version() {
2324reuse_k8s () {
2425 check_minikube_version
2526
26- if ! minikube status > /dev/null 2>&1
27+ if ! minikube -p " $MINIKUBE_NAME " status > /dev/null 2>&1
2728 then
2829 reset_k8s
2930 return
@@ -39,7 +40,7 @@ reset_k8s() {
3940 delete_k8s
4041
4142 if [ -n " $K8S_CACHE_PATH " ] \
42- && [ " $K8S_MINIKUBE_DRIVER " = docker ]
43+ && [ " $MINIKUBE_DRIVER " = docker ]
4344 then
4445 echo " Setting up minikube containerd cache for $K8S_CACHE_PATH ..."
4546 if [ " $K8S_CACHE_RESET " = true ]
@@ -87,33 +88,34 @@ reset_k8s() {
8788 '
8889 fi
8990
90- if [ " $K8S_MINIKUBE_FEATURE_GATES " = " x" ]
91+ if [ " $MINIKUBE_FEATURE_GATES " = " x" ]
9192 then
92- K8S_MINIKUBE_FEATURE_GATES =" "
93+ MINIKUBE_FEATURE_GATES =" "
9394 if [ " ${K8S_VERSION% .* } " = 1.11 ]
9495 then
95- K8S_MINIKUBE_FEATURE_GATES =" PodShareProcessNamespace=true"
96+ MINIKUBE_FEATURE_GATES =" PodShareProcessNamespace=true"
9697 fi
9798 fi
9899
99- minikube start --kubernetes-version " $K8S_VERSION " \
100- --cpus " $K8S_MINIKUBE_CPUS " \
101- --memory " $K8S_MINIKUBE_MEMORY " \
102- --disk-size " $K8S_MINIKUBE_DISK " \
103- --vm-driver " $K8S_MINIKUBE_DRIVER " \
104- --container-runtime " $K8S_MINIKUBE_CONTAINER_RUNTIME " \
105- --feature-gates " $K8S_MINIKUBE_FEATURE_GATES "
100+ minikube -p " $MINIKUBE_NAME " start --kubernetes-version " $K8S_VERSION " \
101+ --cpus " $MINIKUBE_CPUS " \
102+ --memory " $MINIKUBE_MEMORY " \
103+ --disk-size " $MINIKUBE_DISK " \
104+ --vm-driver " $MINIKUBE_DRIVER " \
105+ --container-runtime " $MINIKUBE_CONTAINER_RUNTIME " \
106+ --feature-gates " $MINIKUBE_FEATURE_GATES "
107+ minikube -p " $MINIKUBE_NAME " addons enable volumesnapshots
106108
107109 if [ -n " $K8S_CACHE_PATH " ] \
108- && [ " $K8S_MINIKUBE_DRIVER " = docker ] \
110+ && [ " $MINIKUBE_DRIVER " = docker ] \
109111 && docker run --rm -v " $K8S_CACHE_PATH :/containerd-cache" alpine \
110112 sh -ec '
111113 ! test -d /containerd-cache/boot-volume \
112114 || test -d /containerd-cache/containerd
113115 '
114116 then
115117 echo " Replacing minikube containerd cache with $K8S_CACHE_PATH ..."
116- minikube stop
118+ minikube -p " $MINIKUBE_NAME " stop
117119 docker run --rm -v " $K8S_CACHE_PATH :/containerd-cache" alpine \
118120 sh -ec '
119121 if ! test -d /containerd-cache/boot-volume
@@ -131,84 +133,75 @@ reset_k8s() {
131133 mv /containerd-cache/containerd /containerd-cache/volume/lib/containerd
132134 fi
133135 '
134- minikube start
136+ minikube -p " $MINIKUBE_NAME " start
135137 fi
136138
137139 echo " ...done"
138140}
139141
140142upgrade_k8s () {
141143 check_minikube_version
142- minikube start --kubernetes-version " $1 "
143- minikube addons enable storage-provisioner
144+ minikube -p " $MINIKUBE_NAME " start --kubernetes-version " $1 "
145+ minikube -p " $MINIKUBE_NAME " addons enable storage-provisioner
144146}
145147
146148delete_k8s () {
147149 check_minikube_version
148150 echo " Deleting minikube environment..."
149151
150- minikube stop || true
151- minikube delete || true
152+ minikube -p " $MINIKUBE_NAME " stop || true
153+ minikube -p " $MINIKUBE_NAME " delete || true
152154
153155 echo " ...done"
154156}
155157
156158load_image_k8s () {
157159 check_minikube_version
158160
159- if [ " $K8S_MINIKUBE_DRIVER " = docker ]
161+ local IMAGE_ID
162+ IMAGE_ID=" $( (docker inspect --format ' {{ .ID }}' " $1 " 2> /dev/null || printf unknown) | grep -v ' ^$' ) "
163+ local MINIKUBE_IMAGE_ID
164+ MINIKUBE_IMAGE_ID=" $( (minikube -p " $MINIKUBE_NAME " image ls --format json 2> /dev/null || printf ' []' ) | jq -r --arg image registry.gitlab.com/ongresinc/stackgres/stackgres/admin-ui:6884291a ' map(select(.repoTags|any(. == $image)))|if (.|length) > 0 then .[0].id else "unknown" end' ) "
165+ if [ " $IMAGE_ID " = unknown ] && [ " $MINIKUBE_IMAGE_ID " != unknown ]
160166 then
161- local IMAGE_ID
162- IMAGE_ID=" $( (docker inspect --format ' {{ .ID }}' " $1 " 2> /dev/null || printf unknown) | grep -v ' ^$' ) "
163- local MINIKUBE_IMAGE_ID
164- MINIKUBE_IMAGE_ID=" $( (docker exec minikube crictl inspecti -o json " $1 " 2> /dev/null || printf ' {"status": {"id": "unknown"}}' ) | jq -r ' .status.id' | grep -v ' ^$' ) "
165- if [ " $IMAGE_ID " = unknown ] && [ " $MINIKUBE_IMAGE_ID " != unknown ]
166- then
167- echo " Image $1 already loaded in minikube environemnt $MINIKUBE_NAME "
168- return
169- fi
170- if [ " $MINIKUBE_IMAGE_ID " = " $IMAGE_ID " ]
171- then
172- echo " Image $1 already loaded in minikube environemnt $MINIKUBE_NAME "
173- return
174- fi
167+ echo " Image $1 already loaded in minikube environemnt $MINIKUBE_NAME "
168+ return
169+ fi
170+ if [ " $MINIKUBE_IMAGE_ID " = " $IMAGE_ID " ]
171+ then
172+ echo " Image $1 already loaded in minikube environemnt $MINIKUBE_NAME "
173+ return
175174 fi
176- minikube image load --daemon " $1 "
175+ minikube -p " $MINIKUBE_NAME " image load --daemon " $1 "
177176
178177 echo " Loaded image $1 in minikube environemnt $MINIKUBE_NAME "
179178}
180179
181180pull_image_k8s () {
182181 check_minikube_version
183182
184- if [ " $K8S_MINIKUBE_DRIVER " != docker ]
183+ if [ " $MINIKUBE_DRIVER " != docker ]
185184 then
186- echo " Can not pull image in internal repository since K8S_MINIKUBE_DRIVER is not set to docker"
185+ echo " Can not pull image in internal repository since MINIKUBE_DRIVER is not set to docker"
187186 return 1
188187 fi
189188 local AUTH
190189 AUTH=" $( jq -r ' .auths|to_entries|.[]|.key + "|" + .value.auth' " ${HOME} /.docker/config.json" \
191190 | grep -F " ${1%%/* } " | head -n 1 | cut -d ' |' -f 2) "
192191 if [ -n " $AUTH " ]
193192 then
194- docker exec minikube crictl pull --auth " $AUTH " " $1 "
193+ minikube -p " $MINIKUBE_NAME " image pull --auth " $AUTH " " $1 "
195194 else
196- docker exec minikube crictl pull " $1 "
195+ minikube -p " $MINIKUBE_NAME " image pull " $1 "
197196 fi
198197
199- echo " Pulled image $1 in minikube environemnt"
198+ echo " Pulled image $1 in minikube environemnt $MINIKUBE_NAME "
200199}
201200
202201tag_image_k8s () {
203202 check_minikube_version
204203
205- if [ " $K8S_MINIKUBE_DRIVER " != docker ]
206- then
207- echo " Can not tag image in internal repository since K8S_MINIKUBE_DRIVER is not set to docker"
208- return 1
209- fi
210-
211- docker exec minikube ctr -n k8s.io images tag --force " $1 " " $2 "
204+ minikube -p " $MINIKUBE_NAME " image tag " $1 " " $2 "
212205
213206 echo " Tagged image $1 as $2 in minikube environemnt"
214207}
0 commit comments