Skip to content

Commit d8aba18

Browse files
committed
fix(ansible): init vaults before getting ansible params
1 parent cef857c commit d8aba18

File tree

2 files changed

+33
-19
lines changed

2 files changed

+33
-19
lines changed

db/Task.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ type Task struct {
7373
Params MapStringAnyField `db:"params" json:"params"`
7474
}
7575

76-
func (task *Task) GetParams(target interface{}) (err error) {
76+
func (task *Task) FillParams(target interface{}) (err error) {
7777
content, err := json.Marshal(task.Params)
7878
if err != nil {
7979
return
@@ -159,7 +159,7 @@ func (task *Task) ValidateNewTask(template Template) error {
159159
params = &DefaultTaskParams{}
160160
}
161161

162-
return task.GetParams(params)
162+
return task.FillParams(params)
163163
}
164164

165165
func (task *TaskWithTpl) Fill(d Store) error {

services/tasks/LocalJob.go

Lines changed: 31 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ func (t *LocalJob) getTerraformArgs(username string, incomingVersion *string) (a
243243
}
244244

245245
var params db.TerraformTaskParams
246-
err = t.Task.GetParams(&params)
246+
err = t.Task.FillParams(&params)
247247
if err != nil {
248248
return
249249
}
@@ -339,7 +339,7 @@ func (t *LocalJob) getPlaybookArgs(username string, incomingVersion *string) (ar
339339

340340
var params db.AnsibleTaskParams
341341

342-
err = t.Task.GetParams(&params)
342+
err = t.Task.FillParams(&params)
343343
if err != nil {
344344
return
345345
}
@@ -419,6 +419,25 @@ func (t *LocalJob) getPlaybookArgs(username string, incomingVersion *string) (ar
419419
return
420420
}
421421

422+
func (t *LocalJob) getParams() (params interface{}, err error) {
423+
switch t.Template.App {
424+
case db.AppAnsible:
425+
params = &db.AnsibleTaskParams{}
426+
case db.AppTerraform, db.AppTofu:
427+
params = &db.TerraformTaskParams{}
428+
default:
429+
params = &db.DefaultTaskParams{}
430+
}
431+
432+
err = t.Task.FillParams(params)
433+
434+
if err != nil {
435+
return
436+
}
437+
438+
return
439+
}
440+
422441
func (t *LocalJob) Run(username string, incomingVersion *string, alias string) (err error) {
423442

424443
defer func() {
@@ -433,40 +452,35 @@ func (t *LocalJob) Run(username string, incomingVersion *string, alias string) (
433452
return
434453
}
435454

455+
params, err := t.getParams()
456+
if err != nil {
457+
return
458+
}
459+
460+
err = t.prepareRun(&environmentVariables, params)
461+
if err != nil {
462+
return err
463+
}
464+
436465
var args []string
437466
var inputs map[string]string
438-
var params interface{}
439467

440468
switch t.Template.App {
441469
case db.AppAnsible:
442470
args, inputs, err = t.getPlaybookArgs(username, incomingVersion)
443-
params = &db.AnsibleTaskParams{}
444471
case db.AppTerraform, db.AppTofu:
445472
args, err = t.getTerraformArgs(username, incomingVersion)
446-
params = &db.TerraformTaskParams{}
447473
if alias != "" {
448474
environmentVariables = append(environmentVariables, "TF_HTTP_ADDRESS="+util.GetPublicAliasURL("terraform", alias))
449475
}
450476
default:
451477
args, err = t.getShellArgs(username, incomingVersion)
452-
params = &db.DefaultTaskParams{}
453478
}
454479

455480
if err != nil {
456481
return
457482
}
458483

459-
err = t.Task.GetParams(params)
460-
461-
if err != nil {
462-
return
463-
}
464-
465-
err = t.prepareRun(&environmentVariables, params)
466-
if err != nil {
467-
return err
468-
}
469-
470484
if t.Inventory.SSHKey.Type == db.AccessKeySSH && t.Inventory.SSHKeyID != nil {
471485
environmentVariables = append(environmentVariables, fmt.Sprintf("SSH_AUTH_SOCK=%s", t.sshKeyInstallation.SSHAgent.SocketFile))
472486
}

0 commit comments

Comments
 (0)