cloudposse / atmos

👽 Terraform Orchestration Tool for DevOps. Keep environment configuration DRY with hierarchical imports of configurations, inheritance, and WAY more. Native support for Terraform and Helmfile.
https://atmos.tools
Apache License 2.0
804 stars 97 forks source link

panic on `atmos terraform providers lock` #794

Open mss opened 2 days ago

mss commented 2 days ago

Describe the Bug

I was playing around with lock files and ran into this:

panic: assignment to entry in nil map

goroutine 1 [running]:
github.com/cloudposse/atmos/internal/exec.ProcessStacks({{0x53109b0, 0x1}, {{{0xc000ba6fc0, 0x14}, 0x0, {0xc000a85540, 0x31}, 0x1, 0x1, 0x1, ...}, ...}, ...}, ...)
        /home/runner/work/atmos/atmos/source/internal/exec/utils.go:426 +0x105d
github.com/cloudposse/atmos/internal/exec.ExecuteTerraform({{0x0, 0x0}, {0x7ffdcb1b2d70, 0x14}, {0x0, 0x0}, {0x2ff3220, 0x9}, {0x7ffdcb1b2d5c, 0x4}, ...})
        /home/runner/work/atmos/atmos/source/internal/exec/terraform.go:64 +0x227
github.com/cloudposse/atmos/internal/exec.ExecuteTerraformCmd(0x0?, {0xc00078cb40?, 0x2fe64e4?, 0x7?}, {0x0?, 0x7?, 0x5535980?})
        /home/runner/work/atmos/atmos/source/internal/exec/terraform.go:33 +0xcc
github.com/cloudposse/atmos/cmd.init.func17(0x54fe820, {0xc00078cb40, 0x5, 0x5})
        /home/runner/work/atmos/atmos/source/cmd/terraform.go:32 +0x189
github.com/spf13/cobra.(*Command).execute(0x54fe820, {0xc00078cb40, 0x5, 0x5})
        /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.8.1/command.go:989 +0xa91
github.com/spf13/cobra.(*Command).ExecuteC(0x54fe540)
        /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.8.1/command.go:1117 +0x3ff
github.com/spf13/cobra.(*Command).Execute(...)
        /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.8.1/command.go:1041
github.com/cloudposse/atmos/cmd.Execute()
        /home/runner/work/atmos/atmos/source/cmd/root.go:107 +0x3b1
main.main()
        /home/runner/work/atmos/atmos/source/main.go:10 +0x1e

Expected Behavior

No panic.

Steps to Reproduce

atmos terraform providers lock foo --stack bar

Screenshots

No response

Environment

Additional Context

Looks like I should have executed atmos terraform providers foo --stack bar lock

GabisCampana commented 2 days ago

@aknysh