@@ -38,14 +38,14 @@ var netLookupIP = func(host string) []net.IP {
3838 return ips
3939}
4040
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 ) {
4242 // Start with the proxy variables from the system settings.
4343 env , err := osutil .ProxySettings ()
4444 if err != nil {
4545 return env , err
4646 }
4747 // 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 {
4949 env [name ] = value
5050 }
5151 // 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
5454 for i , name := range lowerVars {
5555 upperVars [i ] = strings .ToUpper (name )
5656 }
57- if * y . PropagateProxyEnv {
57+ if propagateProxyEnv {
5858 for _ , name := range append (lowerVars , upperVars ... ) {
5959 if value , ok := os .LookupEnv (name ); ok {
6060 if _ , ok := env [name ]; ok && value != env [name ] {
@@ -80,7 +80,7 @@ func setupEnv(y *limayaml.LimaYAML, args TemplateArgs) (map[string]string, error
8080
8181 for _ , ip := range netLookupIP (u .Hostname ()) {
8282 if ip .IsLoopback () {
83- newHost := args . SlirpGateway
83+ newHost := slirpGateway
8484 if u .Port () != "" {
8585 newHost = net .JoinHostPort (newHost , u .Port ())
8686 }
@@ -111,8 +111,8 @@ func setupEnv(y *limayaml.LimaYAML, args TemplateArgs) (map[string]string, error
111111 return env , nil
112112}
113113
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 {
116116 return err
117117 }
118118 u , err := osutil .LimaUser (true )
@@ -128,26 +128,26 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
128128 User : u .Username ,
129129 UID : uid ,
130130 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 },
134134 SlirpNICName : networks .SlirpNICName ,
135135
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 ,
139139 VSockPort : vsockPort ,
140140 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 ,
144144 }
145145
146- firstUsernetIndex := limayaml .FirstUsernetIndex (y )
146+ firstUsernetIndex := limayaml .FirstUsernetIndex (instConfig )
147147 var subnet net.IP
148148
149149 if firstUsernetIndex != - 1 {
150- usernetName := y .Networks [firstUsernetIndex ].Lima
150+ usernetName := instConfig .Networks [firstUsernetIndex ].Lima
151151 subnet , err = usernet .Subnet (usernetName )
152152 if err != nil {
153153 return err
@@ -160,7 +160,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
160160 return err
161161 }
162162 args .SlirpGateway = usernet .GatewayIP (subnet )
163- if * y .VMType == limayaml .VZ {
163+ if * instConfig .VMType == limayaml .VZ {
164164 args .SlirpDNS = usernet .GatewayIP (subnet )
165165 } else {
166166 args .SlirpDNS = usernet .DNSIP (subnet )
@@ -171,7 +171,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
171171 // change instance id on every boot so network config will be processed again
172172 args .IID = fmt .Sprintf ("iid-%d" , time .Now ().Unix ())
173173
174- pubKeys , err := sshutil .DefaultPubKeys (* y .SSH .LoadDotSSHPubKeys )
174+ pubKeys , err := sshutil .DefaultPubKeys (* instConfig .SSH .LoadDotSSHPubKeys )
175175 if err != nil {
176176 return err
177177 }
@@ -183,7 +183,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
183183 }
184184
185185 var fstype string
186- switch * y .MountType {
186+ switch * instConfig .MountType {
187187 case limayaml .REVSSHFS :
188188 fstype = "sshfs"
189189 case limayaml .NINEP :
@@ -195,7 +195,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
195195 if err != nil {
196196 return err
197197 }
198- for i , f := range y .Mounts {
198+ for i , f := range instConfig .Mounts {
199199 tag := fmt .Sprintf ("mount%d" , i )
200200 location , err := localpathutil .Expand (f .Location )
201201 if err != nil {
@@ -231,7 +231,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
231231 }
232232 }
233233
234- switch * y .MountType {
234+ switch * instConfig .MountType {
235235 case limayaml .REVSSHFS :
236236 args .MountType = "reverse-sshfs"
237237 case limayaml .NINEP :
@@ -240,7 +240,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
240240 args .MountType = "virtiofs"
241241 }
242242
243- for i , d := range y .AdditionalDisks {
243+ for i , d := range instConfig .AdditionalDisks {
244244 format := true
245245 if d .Format != nil {
246246 format = * d .Format
@@ -259,26 +259,26 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
259259 }
260260
261261 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 {
263263 if i == firstUsernetIndex {
264264 continue
265265 }
266266 args .Networks = append (args .Networks , Network {MACAddress : nw .MACAddress , Interface : nw .Interface })
267267 }
268268
269- args .Env , err = setupEnv (y , args )
269+ args .Env , err = setupEnv (instConfig . Env , * instConfig . PropagateProxyEnv , args . SlirpGateway )
270270 if err != nil {
271271 return err
272272 }
273273
274274 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 {
277277 args .DNSAddresses = append (args .DNSAddresses , addr .String ())
278278 }
279- case firstUsernetIndex != - 1 || * y .VMType == limayaml .VZ :
279+ case firstUsernetIndex != - 1 || * instConfig .VMType == limayaml .VZ :
280280 args .DNSAddresses = append (args .DNSAddresses , args .SlirpDNS )
281- case * y .HostResolver .Enabled :
281+ case * instConfig .HostResolver .Enabled :
282282 args .UDPDNSLocalPort = udpDNSLocalPort
283283 args .TCPDNSLocalPort = tcpDNSLocalPort
284284 args .DNSAddresses = append (args .DNSAddresses , args .SlirpDNS )
@@ -289,9 +289,9 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
289289 }
290290 }
291291
292- args .CACerts .RemoveDefaults = y .CACertificates .RemoveDefaults
292+ args .CACerts .RemoveDefaults = instConfig .CACertificates .RemoveDefaults
293293
294- for _ , path := range y .CACertificates .Files {
294+ for _ , path := range instConfig .CACertificates .Files {
295295 expanded , err := localpathutil .Expand (path )
296296 if err != nil {
297297 return err
@@ -306,14 +306,14 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
306306 args .CACerts .Trusted = append (args .CACerts .Trusted , cert )
307307 }
308308
309- for _ , content := range y .CACertificates .Certs {
309+ for _ , content := range instConfig .CACertificates .Certs {
310310 cert := getCert (content )
311311 args .CACerts .Trusted = append (args .CACerts .Trusted , cert )
312312 }
313313
314- args .BootCmds = getBootCmds (y .Provision )
314+ args .BootCmds = getBootCmds (instConfig .Provision )
315315
316- for _ , f := range y .Provision {
316+ for _ , f := range instConfig .Provision {
317317 if f .Mode == limayaml .ProvisionModeDependency && * f .SkipDefaultDependencyResolution {
318318 args .SkipDefaultDependencyResolution = true
319319 }
@@ -328,7 +328,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
328328 return err
329329 }
330330
331- for i , f := range y .Provision {
331+ for i , f := range instConfig .Provision {
332332 switch f .Mode {
333333 case limayaml .ProvisionModeSystem , limayaml .ProvisionModeUser , limayaml .ProvisionModeDependency :
334334 layout = append (layout , iso9660util.Entry {
@@ -344,7 +344,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
344344 }
345345 }
346346
347- guestAgentBinary , err := usrlocalsharelima .GuestAgentBinary (* y .OS , * y .Arch )
347+ guestAgentBinary , err := usrlocalsharelima .GuestAgentBinary (* instConfig .OS , * instConfig .Arch )
348348 if err != nil {
349349 return err
350350 }
0 commit comments