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