Skip to content

Commit 8584007

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

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
@@ -110,17 +110,17 @@ func setupEnv(y *limayaml.LimaYAML, args TemplateArgs) (map[string]string, error
110110
return env, nil
111111
}
112112

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) {
114114
if err := limayaml.Validate(*y, false); err != nil {
115-
return err
115+
return nil, err
116116
}
117117
u, err := osutil.LimaUser(true)
118118
if err != nil {
119-
return err
119+
return nil, err
120120
}
121121
uid, err := strconv.Atoi(u.Uid)
122122
if err != nil {
123-
return err
123+
return nil, err
124124
}
125125
args := TemplateArgs{
126126
Name: name,
@@ -148,14 +148,14 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
148148
usernetName := y.Networks[firstUsernetIndex].Lima
149149
subnet, err = usernet.Subnet(usernetName)
150150
if err != nil {
151-
return err
151+
return nil, err
152152
}
153153
args.SlirpGateway = usernet.GatewayIP(subnet)
154154
args.SlirpDNS = usernet.GatewayIP(subnet)
155155
} else {
156156
subnet, _, err = net.ParseCIDR(networks.SlirpNetwork)
157157
if err != nil {
158-
return err
158+
return nil, err
159159
}
160160
args.SlirpGateway = usernet.GatewayIP(subnet)
161161
if *y.VMType == limayaml.VZ {
@@ -171,10 +171,10 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
171171

172172
pubKeys, err := sshutil.DefaultPubKeys(*y.SSH.LoadDotSSHPubKeys)
173173
if err != nil {
174-
return err
174+
return nil, err
175175
}
176176
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`")
178178
}
179179
for _, f := range pubKeys {
180180
args.SSHPubKeys = append(args.SSHPubKeys, f.Content)
@@ -191,17 +191,17 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
191191
}
192192
hostHome, err := localpathutil.Expand("~")
193193
if err != nil {
194-
return err
194+
return nil, err
195195
}
196196
for i, f := range y.Mounts {
197197
tag := fmt.Sprintf("mount%d", i)
198198
location, err := localpathutil.Expand(f.Location)
199199
if err != nil {
200-
return err
200+
return nil, err
201201
}
202202
mountPoint, err := localpathutil.Expand(f.MountPoint)
203203
if err != nil {
204-
return err
204+
return nil, err
205205
}
206206
options := "defaults"
207207
switch fstype {
@@ -215,7 +215,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
215215
options += fmt.Sprintf(",version=%s", *f.NineP.ProtocolVersion)
216216
msize, err := units.RAMInBytes(*f.NineP.Msize)
217217
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)
219219
}
220220
options += fmt.Sprintf(",msize=%d", msize)
221221
options += fmt.Sprintf(",cache=%s", *f.NineP.Cache)
@@ -266,7 +266,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
266266

267267
args.Env, err = setupEnv(y, args)
268268
if err != nil {
269-
return err
269+
return nil, err
270270
}
271271

272272
if len(y.DNS) > 0 {
@@ -282,7 +282,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
282282
} else {
283283
args.DNSAddresses, err = osutil.DNSAddresses()
284284
if err != nil {
285-
return err
285+
return nil, err
286286
}
287287
}
288288

@@ -291,12 +291,12 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
291291
for _, path := range y.CACertificates.Files {
292292
expanded, err := localpathutil.Expand(path)
293293
if err != nil {
294-
return err
294+
return nil, err
295295
}
296296

297297
content, err := os.ReadFile(expanded)
298298
if err != nil {
299-
return err
299+
return nil, err
300300
}
301301

302302
cert := getCert(string(content))
@@ -316,6 +316,15 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
316316
}
317317
}
318318

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+
319328
if err := ValidateTemplateArgs(args); err != nil {
320329
return err
321330
}

pkg/cidata/template.go

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

90-
func ValidateTemplateArgs(args TemplateArgs) error {
90+
func ValidateTemplateArgs(args *TemplateArgs) error {
9191
if err := identifiers.Validate(args.Name); err != nil {
9292
return err
9393
}
@@ -118,7 +118,7 @@ func ValidateTemplateArgs(args TemplateArgs) error {
118118
return nil
119119
}
120120

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

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)