@@ -111,17 +111,17 @@ func setupEnv(instConfigEnv map[string]string, propagateProxyEnv bool, slirpGate
111
111
return env , nil
112
112
}
113
113
114
- func GenerateISO9660 (instDir , name string , instConfig * limayaml.LimaYAML , udpDNSLocalPort , tcpDNSLocalPort int , nerdctlArchive string , vsockPort int , virtioPort string ) error {
114
+ func templateArgs (instDir , name string , instConfig * limayaml.LimaYAML , udpDNSLocalPort , tcpDNSLocalPort int , nerdctlArchive string , vsockPort int , virtioPort string ) ( * TemplateArgs , error ) {
115
115
if err := limayaml .Validate (instConfig , false ); err != nil {
116
- return err
116
+ return nil , err
117
117
}
118
118
u , err := osutil .LimaUser (true )
119
119
if err != nil {
120
- return err
120
+ return nil , err
121
121
}
122
122
uid , err := strconv .Atoi (u .Uid )
123
123
if err != nil {
124
- return err
124
+ return nil , err
125
125
}
126
126
args := TemplateArgs {
127
127
Name : name ,
@@ -150,14 +150,14 @@ func GenerateISO9660(instDir, name string, instConfig *limayaml.LimaYAML, udpDNS
150
150
usernetName := instConfig .Networks [firstUsernetIndex ].Lima
151
151
subnet , err = usernet .Subnet (usernetName )
152
152
if err != nil {
153
- return err
153
+ return nil , err
154
154
}
155
155
args .SlirpGateway = usernet .GatewayIP (subnet )
156
156
args .SlirpDNS = usernet .GatewayIP (subnet )
157
157
} else {
158
158
subnet , _ , err = net .ParseCIDR (networks .SlirpNetwork )
159
159
if err != nil {
160
- return err
160
+ return nil , err
161
161
}
162
162
args .SlirpGateway = usernet .GatewayIP (subnet )
163
163
if * instConfig .VMType == limayaml .VZ {
@@ -173,10 +173,10 @@ func GenerateISO9660(instDir, name string, instConfig *limayaml.LimaYAML, udpDNS
173
173
174
174
pubKeys , err := sshutil .DefaultPubKeys (* instConfig .SSH .LoadDotSSHPubKeys )
175
175
if err != nil {
176
- return err
176
+ return nil , err
177
177
}
178
178
if len (pubKeys ) == 0 {
179
- return errors .New ("no SSH key was found, run `ssh-keygen`" )
179
+ return nil , errors .New ("no SSH key was found, run `ssh-keygen`" )
180
180
}
181
181
for _ , f := range pubKeys {
182
182
args .SSHPubKeys = append (args .SSHPubKeys , f .Content )
@@ -193,17 +193,17 @@ func GenerateISO9660(instDir, name string, instConfig *limayaml.LimaYAML, udpDNS
193
193
}
194
194
hostHome , err := localpathutil .Expand ("~" )
195
195
if err != nil {
196
- return err
196
+ return nil , err
197
197
}
198
198
for i , f := range instConfig .Mounts {
199
199
tag := fmt .Sprintf ("mount%d" , i )
200
200
location , err := localpathutil .Expand (f .Location )
201
201
if err != nil {
202
- return err
202
+ return nil , err
203
203
}
204
204
mountPoint , err := localpathutil .Expand (f .MountPoint )
205
205
if err != nil {
206
- return err
206
+ return nil , err
207
207
}
208
208
options := "defaults"
209
209
switch fstype {
@@ -217,7 +217,7 @@ func GenerateISO9660(instDir, name string, instConfig *limayaml.LimaYAML, udpDNS
217
217
options += fmt .Sprintf (",version=%s" , * f .NineP .ProtocolVersion )
218
218
msize , err := units .RAMInBytes (* f .NineP .Msize )
219
219
if err != nil {
220
- return fmt .Errorf ("failed to parse msize for %q: %w" , location , err )
220
+ return nil , fmt .Errorf ("failed to parse msize for %q: %w" , location , err )
221
221
}
222
222
options += fmt .Sprintf (",msize=%d" , msize )
223
223
options += fmt .Sprintf (",cache=%s" , * f .NineP .Cache )
@@ -268,7 +268,7 @@ func GenerateISO9660(instDir, name string, instConfig *limayaml.LimaYAML, udpDNS
268
268
269
269
args .Env , err = setupEnv (instConfig .Env , * instConfig .PropagateProxyEnv , args .SlirpGateway )
270
270
if err != nil {
271
- return err
271
+ return nil , err
272
272
}
273
273
274
274
switch {
@@ -285,7 +285,7 @@ func GenerateISO9660(instDir, name string, instConfig *limayaml.LimaYAML, udpDNS
285
285
default :
286
286
args .DNSAddresses , err = osutil .DNSAddresses ()
287
287
if err != nil {
288
- return err
288
+ return nil , err
289
289
}
290
290
}
291
291
@@ -294,12 +294,12 @@ func GenerateISO9660(instDir, name string, instConfig *limayaml.LimaYAML, udpDNS
294
294
for _ , path := range instConfig .CACertificates .Files {
295
295
expanded , err := localpathutil .Expand (path )
296
296
if err != nil {
297
- return err
297
+ return nil , err
298
298
}
299
299
300
300
content , err := os .ReadFile (expanded )
301
301
if err != nil {
302
- return err
302
+ return nil , err
303
303
}
304
304
305
305
cert := getCert (string (content ))
@@ -319,6 +319,15 @@ func GenerateISO9660(instDir, name string, instConfig *limayaml.LimaYAML, udpDNS
319
319
}
320
320
}
321
321
322
+ return & args , nil
323
+ }
324
+
325
+ func GenerateISO9660 (instDir , name string , instConfig * limayaml.LimaYAML , udpDNSLocalPort , tcpDNSLocalPort int , nerdctlArchive string , vsockPort int , virtioPort string ) error {
326
+ args , err := templateArgs (instDir , name , instConfig , udpDNSLocalPort , tcpDNSLocalPort , nerdctlArchive , vsockPort , virtioPort )
327
+ if err != nil {
328
+ return err
329
+ }
330
+
322
331
if err := ValidateTemplateArgs (args ); err != nil {
323
332
return err
324
333
}
0 commit comments