@@ -31,6 +31,8 @@ var clusterName string
3131var kubernetesVersion = "1.23.4"
3232var clusterVersionOverride bool
3333var minikubeVersion = 1.25
34+ var cpus = "3"
35+ var memory = "3072"
3436
3537// SetUp creates a local Minikube cluster and installs all the relevant Knative components
3638func SetUp (name , kVersion string ) error {
@@ -164,16 +166,26 @@ func createNewCluster() error {
164166 fmt .Print (" minikube config set driver <your-driver>\n \n " )
165167
166168 // If minikube config kubernetes-version exists, use that instead of our default
167- getMinikubeVersion := exec .Command ("minikube" , "config" , "get" , "kubernetes-version" )
168- out , err := getMinikubeVersion .Output ()
169- // if the command returns a config, then use that for the kubernetes version
170- if err == nil {
171- kubernetesVersion = strings .TrimRight (string (out ), "\n " )
169+ if config , ok := getMinikubeConfig ("kubernetes-version" ); ok {
170+ kubernetesVersion = config
172171 }
173172 }
174173
174+ // get user configs for memory/cpus if they exist
175+ if config , ok := getMinikubeConfig ("cpus" ); ok {
176+ cpus = config
177+ }
178+ if config , ok := getMinikubeConfig ("memory" ); ok {
179+ memory = config
180+ }
181+
175182 // create cluster and wait until ready
176- createCluster := exec .Command ("minikube" , "start" , "--kubernetes-version" , kubernetesVersion , "--cpus" , "3" , "--profile" , clusterName , "--wait" , "all" )
183+ createCluster := exec .Command ("minikube" , "start" ,
184+ "--kubernetes-version" , kubernetesVersion ,
185+ "--cpus" , cpus ,
186+ "--memory" , memory ,
187+ "--profile" , clusterName ,
188+ "--wait" , "all" )
177189 if err := runCommandWithOutput (createCluster ); err != nil {
178190 return fmt .Errorf ("minikube create: %w" , err )
179191 }
@@ -201,3 +213,13 @@ func parseMinikubeVersion(v string) (float64, error) {
201213
202214 return floatVersion , nil
203215}
216+
217+ func getMinikubeConfig (k string ) (string , bool ) {
218+ var ok bool
219+ getConfig := exec .Command ("minikube" , "config" , "get" , k )
220+ v , err := getConfig .Output ()
221+ if err == nil {
222+ ok = true
223+ }
224+ return strings .TrimRight (string (v ), "\n " ), ok
225+ }
0 commit comments