@@ -38,14 +38,14 @@ var netLookupIP = func(host string) []net.IP {
38
38
return ips
39
39
}
40
40
41
- func setupEnv (y * limayaml. LimaYAML , args TemplateArgs ) (map [string ]string , error ) {
41
+ func setupEnv (instConfigEnv map [ string ] string , propagateProxyEnv bool , slirpGateway string ) (map [string ]string , error ) {
42
42
// Start with the proxy variables from the system settings.
43
43
env , err := osutil .ProxySettings ()
44
44
if err != nil {
45
45
return env , err
46
46
}
47
47
// env.* settings from lima.yaml override system settings without giving a warning
48
- for name , value := range y . Env {
48
+ for name , value := range instConfigEnv {
49
49
env [name ] = value
50
50
}
51
51
// Current process environment setting override both system settings and env.*
@@ -54,7 +54,7 @@ func setupEnv(y *limayaml.LimaYAML, args TemplateArgs) (map[string]string, error
54
54
for i , name := range lowerVars {
55
55
upperVars [i ] = strings .ToUpper (name )
56
56
}
57
- if * y . PropagateProxyEnv {
57
+ if propagateProxyEnv {
58
58
for _ , name := range append (lowerVars , upperVars ... ) {
59
59
if value , ok := os .LookupEnv (name ); ok {
60
60
if _ , ok := env [name ]; ok && value != env [name ] {
@@ -80,7 +80,7 @@ func setupEnv(y *limayaml.LimaYAML, args TemplateArgs) (map[string]string, error
80
80
81
81
for _ , ip := range netLookupIP (u .Hostname ()) {
82
82
if ip .IsLoopback () {
83
- newHost := args . SlirpGateway
83
+ newHost := slirpGateway
84
84
if u .Port () != "" {
85
85
newHost = net .JoinHostPort (newHost , u .Port ())
86
86
}
@@ -111,8 +111,8 @@ func setupEnv(y *limayaml.LimaYAML, args TemplateArgs) (map[string]string, error
111
111
return env , nil
112
112
}
113
113
114
- func GenerateISO9660 (instDir , name string , y * limayaml.LimaYAML , udpDNSLocalPort , tcpDNSLocalPort int , nerdctlArchive string , vsockPort int , virtioPort string ) error {
115
- if err := limayaml .Validate (y , false ); err != nil {
114
+ func GenerateISO9660 (instDir , name string , instConfig * limayaml.LimaYAML , udpDNSLocalPort , tcpDNSLocalPort int , nerdctlArchive string , vsockPort int , virtioPort string ) error {
115
+ if err := limayaml .Validate (instConfig , false ); err != nil {
116
116
return err
117
117
}
118
118
u , err := osutil .LimaUser (true )
@@ -128,26 +128,26 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
128
128
User : u .Username ,
129
129
UID : uid ,
130
130
Home : fmt .Sprintf ("/home/%s.linux" , u .Username ),
131
- GuestInstallPrefix : * y .GuestInstallPrefix ,
132
- UpgradePackages : * y .UpgradePackages ,
133
- Containerd : Containerd {System : * y .Containerd .System , User : * y .Containerd .User },
131
+ GuestInstallPrefix : * instConfig .GuestInstallPrefix ,
132
+ UpgradePackages : * instConfig .UpgradePackages ,
133
+ Containerd : Containerd {System : * instConfig .Containerd .System , User : * instConfig .Containerd .User },
134
134
SlirpNICName : networks .SlirpNICName ,
135
135
136
- RosettaEnabled : * y .Rosetta .Enabled ,
137
- RosettaBinFmt : * y .Rosetta .BinFmt ,
138
- VMType : * y .VMType ,
136
+ RosettaEnabled : * instConfig .Rosetta .Enabled ,
137
+ RosettaBinFmt : * instConfig .Rosetta .BinFmt ,
138
+ VMType : * instConfig .VMType ,
139
139
VSockPort : vsockPort ,
140
140
VirtioPort : virtioPort ,
141
- Plain : * y .Plain ,
142
- TimeZone : * y .TimeZone ,
143
- Param : y .Param ,
141
+ Plain : * instConfig .Plain ,
142
+ TimeZone : * instConfig .TimeZone ,
143
+ Param : instConfig .Param ,
144
144
}
145
145
146
- firstUsernetIndex := limayaml .FirstUsernetIndex (y )
146
+ firstUsernetIndex := limayaml .FirstUsernetIndex (instConfig )
147
147
var subnet net.IP
148
148
149
149
if firstUsernetIndex != - 1 {
150
- usernetName := y .Networks [firstUsernetIndex ].Lima
150
+ usernetName := instConfig .Networks [firstUsernetIndex ].Lima
151
151
subnet , err = usernet .Subnet (usernetName )
152
152
if err != nil {
153
153
return err
@@ -160,7 +160,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
160
160
return err
161
161
}
162
162
args .SlirpGateway = usernet .GatewayIP (subnet )
163
- if * y .VMType == limayaml .VZ {
163
+ if * instConfig .VMType == limayaml .VZ {
164
164
args .SlirpDNS = usernet .GatewayIP (subnet )
165
165
} else {
166
166
args .SlirpDNS = usernet .DNSIP (subnet )
@@ -171,7 +171,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
171
171
// change instance id on every boot so network config will be processed again
172
172
args .IID = fmt .Sprintf ("iid-%d" , time .Now ().Unix ())
173
173
174
- pubKeys , err := sshutil .DefaultPubKeys (* y .SSH .LoadDotSSHPubKeys )
174
+ pubKeys , err := sshutil .DefaultPubKeys (* instConfig .SSH .LoadDotSSHPubKeys )
175
175
if err != nil {
176
176
return err
177
177
}
@@ -183,7 +183,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
183
183
}
184
184
185
185
var fstype string
186
- switch * y .MountType {
186
+ switch * instConfig .MountType {
187
187
case limayaml .REVSSHFS :
188
188
fstype = "sshfs"
189
189
case limayaml .NINEP :
@@ -195,7 +195,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
195
195
if err != nil {
196
196
return err
197
197
}
198
- for i , f := range y .Mounts {
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 {
@@ -231,7 +231,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
231
231
}
232
232
}
233
233
234
- switch * y .MountType {
234
+ switch * instConfig .MountType {
235
235
case limayaml .REVSSHFS :
236
236
args .MountType = "reverse-sshfs"
237
237
case limayaml .NINEP :
@@ -240,7 +240,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
240
240
args .MountType = "virtiofs"
241
241
}
242
242
243
- for i , d := range y .AdditionalDisks {
243
+ for i , d := range instConfig .AdditionalDisks {
244
244
format := true
245
245
if d .Format != nil {
246
246
format = * d .Format
@@ -259,26 +259,26 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
259
259
}
260
260
261
261
args .Networks = append (args .Networks , Network {MACAddress : limayaml .MACAddress (instDir ), Interface : networks .SlirpNICName })
262
- for i , nw := range y .Networks {
262
+ for i , nw := range instConfig .Networks {
263
263
if i == firstUsernetIndex {
264
264
continue
265
265
}
266
266
args .Networks = append (args .Networks , Network {MACAddress : nw .MACAddress , Interface : nw .Interface })
267
267
}
268
268
269
- args .Env , err = setupEnv (y , args )
269
+ args .Env , err = setupEnv (instConfig . Env , * instConfig . PropagateProxyEnv , args . SlirpGateway )
270
270
if err != nil {
271
271
return err
272
272
}
273
273
274
274
switch {
275
- case len (y .DNS ) > 0 :
276
- for _ , addr := range y .DNS {
275
+ case len (instConfig .DNS ) > 0 :
276
+ for _ , addr := range instConfig .DNS {
277
277
args .DNSAddresses = append (args .DNSAddresses , addr .String ())
278
278
}
279
- case firstUsernetIndex != - 1 || * y .VMType == limayaml .VZ :
279
+ case firstUsernetIndex != - 1 || * instConfig .VMType == limayaml .VZ :
280
280
args .DNSAddresses = append (args .DNSAddresses , args .SlirpDNS )
281
- case * y .HostResolver .Enabled :
281
+ case * instConfig .HostResolver .Enabled :
282
282
args .UDPDNSLocalPort = udpDNSLocalPort
283
283
args .TCPDNSLocalPort = tcpDNSLocalPort
284
284
args .DNSAddresses = append (args .DNSAddresses , args .SlirpDNS )
@@ -289,9 +289,9 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
289
289
}
290
290
}
291
291
292
- args .CACerts .RemoveDefaults = y .CACertificates .RemoveDefaults
292
+ args .CACerts .RemoveDefaults = instConfig .CACertificates .RemoveDefaults
293
293
294
- for _ , path := range y .CACertificates .Files {
294
+ for _ , path := range instConfig .CACertificates .Files {
295
295
expanded , err := localpathutil .Expand (path )
296
296
if err != nil {
297
297
return err
@@ -306,14 +306,14 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
306
306
args .CACerts .Trusted = append (args .CACerts .Trusted , cert )
307
307
}
308
308
309
- for _ , content := range y .CACertificates .Certs {
309
+ for _ , content := range instConfig .CACertificates .Certs {
310
310
cert := getCert (content )
311
311
args .CACerts .Trusted = append (args .CACerts .Trusted , cert )
312
312
}
313
313
314
- args .BootCmds = getBootCmds (y .Provision )
314
+ args .BootCmds = getBootCmds (instConfig .Provision )
315
315
316
- for _ , f := range y .Provision {
316
+ for _ , f := range instConfig .Provision {
317
317
if f .Mode == limayaml .ProvisionModeDependency && * f .SkipDefaultDependencyResolution {
318
318
args .SkipDefaultDependencyResolution = true
319
319
}
@@ -328,7 +328,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
328
328
return err
329
329
}
330
330
331
- for i , f := range y .Provision {
331
+ for i , f := range instConfig .Provision {
332
332
switch f .Mode {
333
333
case limayaml .ProvisionModeSystem , limayaml .ProvisionModeUser , limayaml .ProvisionModeDependency :
334
334
layout = append (layout , iso9660util.Entry {
@@ -344,7 +344,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
344
344
}
345
345
}
346
346
347
- guestAgentBinary , err := usrlocalsharelima .GuestAgentBinary (* y .OS , * y .Arch )
347
+ guestAgentBinary , err := usrlocalsharelima .GuestAgentBinary (* instConfig .OS , * instConfig .Arch )
348
348
if err != nil {
349
349
return err
350
350
}
0 commit comments