Skip to content

Commit ac857e2

Browse files
committed
refactor: create TemplateArgs in a helper function
Signed-off-by: Anders F Björklund <[email protected]>
1 parent 713e1cd commit ac857e2

File tree

3 files changed

+29
-20
lines changed

3 files changed

+29
-20
lines changed

pkg/cidata/cidata.go

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -111,17 +111,17 @@ func setupEnv(instConfigEnv map[string]string, propagateProxyEnv bool, slirpGate
111111
return env, nil
112112
}
113113

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) {
115115
if err := limayaml.Validate(instConfig, false); err != nil {
116-
return err
116+
return nil, err
117117
}
118118
u, err := osutil.LimaUser(true)
119119
if err != nil {
120-
return err
120+
return nil, err
121121
}
122122
uid, err := strconv.Atoi(u.Uid)
123123
if err != nil {
124-
return err
124+
return nil, err
125125
}
126126
args := TemplateArgs{
127127
Name: name,
@@ -150,14 +150,14 @@ func GenerateISO9660(instDir, name string, instConfig *limayaml.LimaYAML, udpDNS
150150
usernetName := instConfig.Networks[firstUsernetIndex].Lima
151151
subnet, err = usernet.Subnet(usernetName)
152152
if err != nil {
153-
return err
153+
return nil, err
154154
}
155155
args.SlirpGateway = usernet.GatewayIP(subnet)
156156
args.SlirpDNS = usernet.GatewayIP(subnet)
157157
} else {
158158
subnet, _, err = net.ParseCIDR(networks.SlirpNetwork)
159159
if err != nil {
160-
return err
160+
return nil, err
161161
}
162162
args.SlirpGateway = usernet.GatewayIP(subnet)
163163
if *instConfig.VMType == limayaml.VZ {
@@ -173,10 +173,10 @@ func GenerateISO9660(instDir, name string, instConfig *limayaml.LimaYAML, udpDNS
173173

174174
pubKeys, err := sshutil.DefaultPubKeys(*instConfig.SSH.LoadDotSSHPubKeys)
175175
if err != nil {
176-
return err
176+
return nil, err
177177
}
178178
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`")
180180
}
181181
for _, f := range pubKeys {
182182
args.SSHPubKeys = append(args.SSHPubKeys, f.Content)
@@ -193,17 +193,17 @@ func GenerateISO9660(instDir, name string, instConfig *limayaml.LimaYAML, udpDNS
193193
}
194194
hostHome, err := localpathutil.Expand("~")
195195
if err != nil {
196-
return err
196+
return nil, err
197197
}
198198
for i, f := range instConfig.Mounts {
199199
tag := fmt.Sprintf("mount%d", i)
200200
location, err := localpathutil.Expand(f.Location)
201201
if err != nil {
202-
return err
202+
return nil, err
203203
}
204204
mountPoint, err := localpathutil.Expand(f.MountPoint)
205205
if err != nil {
206-
return err
206+
return nil, err
207207
}
208208
options := "defaults"
209209
switch fstype {
@@ -217,7 +217,7 @@ func GenerateISO9660(instDir, name string, instConfig *limayaml.LimaYAML, udpDNS
217217
options += fmt.Sprintf(",version=%s", *f.NineP.ProtocolVersion)
218218
msize, err := units.RAMInBytes(*f.NineP.Msize)
219219
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)
221221
}
222222
options += fmt.Sprintf(",msize=%d", msize)
223223
options += fmt.Sprintf(",cache=%s", *f.NineP.Cache)
@@ -268,7 +268,7 @@ func GenerateISO9660(instDir, name string, instConfig *limayaml.LimaYAML, udpDNS
268268

269269
args.Env, err = setupEnv(instConfig.Env, *instConfig.PropagateProxyEnv, args.SlirpGateway)
270270
if err != nil {
271-
return err
271+
return nil, err
272272
}
273273

274274
switch {
@@ -285,7 +285,7 @@ func GenerateISO9660(instDir, name string, instConfig *limayaml.LimaYAML, udpDNS
285285
default:
286286
args.DNSAddresses, err = osutil.DNSAddresses()
287287
if err != nil {
288-
return err
288+
return nil, err
289289
}
290290
}
291291

@@ -294,12 +294,12 @@ func GenerateISO9660(instDir, name string, instConfig *limayaml.LimaYAML, udpDNS
294294
for _, path := range instConfig.CACertificates.Files {
295295
expanded, err := localpathutil.Expand(path)
296296
if err != nil {
297-
return err
297+
return nil, err
298298
}
299299

300300
content, err := os.ReadFile(expanded)
301301
if err != nil {
302-
return err
302+
return nil, err
303303
}
304304

305305
cert := getCert(string(content))
@@ -319,6 +319,15 @@ func GenerateISO9660(instDir, name string, instConfig *limayaml.LimaYAML, udpDNS
319319
}
320320
}
321321

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+
322331
if err := ValidateTemplateArgs(args); err != nil {
323332
return err
324333
}

pkg/cidata/template.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ type TemplateArgs struct {
8989
TimeZone string
9090
}
9191

92-
func ValidateTemplateArgs(args TemplateArgs) error {
92+
func ValidateTemplateArgs(args *TemplateArgs) error {
9393
if err := identifiers.Validate(args.Name); err != nil {
9494
return err
9595
}
@@ -120,7 +120,7 @@ func ValidateTemplateArgs(args TemplateArgs) error {
120120
return nil
121121
}
122122

123-
func ExecuteTemplate(args TemplateArgs) ([]iso9660util.Entry, error) {
123+
func ExecuteTemplate(args *TemplateArgs) ([]iso9660util.Entry, error) {
124124
if err := ValidateTemplateArgs(args); err != nil {
125125
return nil, err
126126
}

pkg/cidata/template_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
var defaultRemoveDefaults = false
1212

1313
func TestTemplate(t *testing.T) {
14-
args := TemplateArgs{
14+
args := &TemplateArgs{
1515
Name: "default",
1616
User: "foo",
1717
UID: 501,
@@ -46,7 +46,7 @@ func TestTemplate(t *testing.T) {
4646
}
4747

4848
func TestTemplate9p(t *testing.T) {
49-
args := TemplateArgs{
49+
args := &TemplateArgs{
5050
Name: "default",
5151
User: "foo",
5252
UID: 501,

0 commit comments

Comments
 (0)