Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package terragrunt for openSUSE:Factory checked in at 2022-07-18 18:34:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/terragrunt (Old) and /work/SRC/openSUSE:Factory/.terragrunt.new.1523 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "terragrunt" Mon Jul 18 18:34:34 2022 rev:9 rq:989619 version:0.38.5 Changes: -------- --- /work/SRC/openSUSE:Factory/terragrunt/terragrunt.changes 2022-07-06 15:42:09.938531911 +0200 +++ /work/SRC/openSUSE:Factory/.terragrunt.new.1523/terragrunt.changes 2022-07-18 18:34:53.297839578 +0200 @@ -1,0 +2,13 @@ +Sat Jul 16 19:04:18 UTC 2022 - ka...@b1-systems.de + +- Update to version 0.38.5: + * Improve Terragrunt error logs (#2175) + * Fix bug in render-json with dependency and locals (#2191) + * Addresses dependabot alerts (#2192) + * Bump nokogiri from 1.12.5 to 1.13.6 in /docs (#2115) + * Fix quick-start typo (#2183) + * Fix typo (#2186) + * Set compatibilty version to go 1.17 (#2180) + * Update codeowners (#2162) + +------------------------------------------------------------------- Old: ---- terragrunt-0.38.4.tar.gz New: ---- terragrunt-0.38.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ terragrunt.spec ++++++ --- /var/tmp/diff_new_pack.s0Oidb/_old 2022-07-18 18:34:54.005840658 +0200 +++ /var/tmp/diff_new_pack.s0Oidb/_new 2022-07-18 18:34:54.009840663 +0200 @@ -19,7 +19,7 @@ %define __arch_install_post export NO_BRP_STRIP_DEBUG=true Name: terragrunt -Version: 0.38.4 +Version: 0.38.5 Release: 0 Summary: Thin wrapper for Terraform for working with multiple Terraform modules License: MIT ++++++ _service ++++++ --- /var/tmp/diff_new_pack.s0Oidb/_old 2022-07-18 18:34:54.033840700 +0200 +++ /var/tmp/diff_new_pack.s0Oidb/_new 2022-07-18 18:34:54.037840706 +0200 @@ -3,7 +3,7 @@ <param name="url">https://github.com/gruntwork-io/terragrunt</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">v0.38.4</param> + <param name="revision">v0.38.5</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> <param name="versionrewrite-pattern">v(.*)</param> @@ -16,7 +16,7 @@ <param name="compression">gz</param> </service> <service name="go_modules" mode="disabled"> - <param name="archive">terragrunt-0.38.4.tar.gz</param> + <param name="archive">terragrunt-0.38.5.tar.gz</param> </service> </services> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.s0Oidb/_old 2022-07-18 18:34:54.053840730 +0200 +++ /var/tmp/diff_new_pack.s0Oidb/_new 2022-07-18 18:34:54.053840730 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/gruntwork-io/terragrunt</param> - <param name="changesrevision">48ff9d35066df8a7a49e6b854af95921618758ec</param></service></servicedata> + <param name="changesrevision">7b7e213d90be6460cb37f8b57c0f8c48401f431d</param></service></servicedata> (No newline at EOF) ++++++ terragrunt-0.38.4.tar.gz -> terragrunt-0.38.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/CODEOWNERS new/terragrunt-0.38.5/CODEOWNERS --- old/terragrunt-0.38.4/CODEOWNERS 2022-07-05 13:37:08.000000000 +0200 +++ new/terragrunt-0.38.5/CODEOWNERS 2022-07-13 15:59:36.000000000 +0200 @@ -1 +1 @@ -* @yorinasub17 @rhoboat @zackproser @denis256 +* @yorinasub17 @zackproser @rhoboat @denis256 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/_ci/install-golang.ps1 new/terragrunt-0.38.5/_ci/install-golang.ps1 --- old/terragrunt-0.38.4/_ci/install-golang.ps1 2022-07-05 13:37:08.000000000 +0200 +++ new/terragrunt-0.38.5/_ci/install-golang.ps1 2022-07-13 15:59:36.000000000 +0200 @@ -1,8 +1,8 @@ # remove the old go installation Remove-Item "C:\Go" -Recurse # Download golang, unpack it, and then update the PATH to include gobin -$golangURI = "https://golang.org/dl/go1.16.7.windows-amd64.zip" -$output = "go1.16.7.zip" +$golangURI = "https://golang.org/dl/go1.17.11.windows-amd64.zip" +$output = "go1.17.11.zip" # The SilentlyContinue is needed to handle access denied error. See # https://discuss.circleci.com/t/access-denied-error-while-trying-to-download-software-on-windows-cirlcleci-environment/32809/2 $ProgressPreference = "SilentlyContinue" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/cli/cli_app.go new/terragrunt-0.38.5/cli/cli_app.go --- old/terragrunt-0.38.4/cli/cli_app.go 2022-07-05 13:37:08.000000000 +0200 +++ new/terragrunt-0.38.5/cli/cli_app.go 2022-07-13 15:59:36.000000000 +0200 @@ -887,6 +887,7 @@ terragruntOptions.Logger.Infof("Encountered an error eligible for retrying. Sleeping %v before retrying.\n", terragruntOptions.RetrySleepIntervalSec) time.Sleep(terragruntOptions.RetrySleepIntervalSec) } else { + terragruntOptions.Logger.Errorf("Terraform invocation failed in %s", terragruntOptions.WorkingDir) return tferr } } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/config/config.go new/terragrunt-0.38.5/config/config.go --- old/terragrunt-0.38.4/config/config.go 2022-07-05 13:37:08.000000000 +0200 +++ new/terragrunt-0.38.5/config/config.go 2022-07-13 15:59:36.000000000 +0200 @@ -693,13 +693,19 @@ // If this file includes another, parse and merge it. Otherwise just return this config. if trackInclude != nil { - config, err := handleInclude(config, trackInclude, terragruntOptions, contextExtensions.DecodedDependencies) + mergedConfig, err := handleInclude(config, trackInclude, terragruntOptions, contextExtensions.DecodedDependencies) if err != nil { return nil, err } // Saving processed includes into configuration, direct assignment since nested includes aren't supported - config.ProcessedIncludes = trackInclude.CurrentMap - return config, nil + mergedConfig.ProcessedIncludes = trackInclude.CurrentMap + // Make sure the top level information that is not automatically merged in is captured on the merged config to + // ensure the proper representation of the config is captured. + // - Locals are deliberately not merged in so that they remain local in scope. Here, we directly set it to the + // original locals for the current config being handled, as that is the locals list that is in scope for this + // config. + mergedConfig.Locals = config.Locals + return mergedConfig, nil } return config, nil } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/config/include.go new/terragrunt-0.38.5/config/include.go --- old/terragrunt-0.38.4/config/include.go 2022-07-05 13:37:08.000000000 +0200 +++ new/terragrunt-0.38.5/config/include.go 2022-07-13 15:59:36.000000000 +0200 @@ -242,8 +242,6 @@ // attributes defined in the targetConfig. Note that this will modify the targetConfig. // NOTE: the following attributes are deliberately omitted from the merge operation, as they are handled differently in // the parser: -// - dependency blocks (TerragruntDependencies) [These blocks need to retrieve outputs, so we need to merge during -// the parsing step, not after the full config is decoded] // - locals [These blocks are not merged by design] // NOTE: dependencies block is a special case and is merged deeply. This is necessary to ensure the configstack system // works correctly, as it uses the `Dependencies` list to track the dependencies of modules for graph building purposes. @@ -308,6 +306,9 @@ } } + // Dependency blocks are shallow merged by name + targetConfig.TerragruntDependencies = mergeDependencyBlocks(targetConfig.TerragruntDependencies, sourceConfig.TerragruntDependencies) + // Deep merge the dependencies list. This is different from dependency blocks, and refers to the deprecated // dependencies block! if sourceConfig.Dependencies != nil { @@ -421,6 +422,13 @@ targetConfig.Dependencies = resultModuleDependencies } + // Dependency blocks are deep merged by name + mergedDeps, err := deepMergeDependencyBlocks(targetConfig.TerragruntDependencies, sourceConfig.TerragruntDependencies) + if err != nil { + return err + } + targetConfig.TerragruntDependencies = mergedDeps + if sourceConfig.RetryableErrors != nil { targetConfig.RetryableErrors = append(targetConfig.RetryableErrors, sourceConfig.RetryableErrors...) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/config/include_test.go new/terragrunt-0.38.5/config/include_test.go --- old/terragrunt-0.38.4/config/include_test.go 2022-07-05 13:37:08.000000000 +0200 +++ new/terragrunt-0.38.5/config/include_test.go 2022-07-13 15:59:36.000000000 +0200 @@ -129,6 +129,11 @@ } for _, testCase := range testCases { + // if nil, initialize to empty dependency list + if testCase.expected.TerragruntDependencies == nil { + testCase.expected.TerragruntDependencies = []Dependency{} + } + testCase.includedConfig.Merge(testCase.config, mockOptionsForTest(t)) assert.Equal(t, testCase.expected, testCase.includedConfig) } @@ -244,6 +249,10 @@ Name: "mysql", ConfigPath: "../mysql", }, + { + Name: "vpc", + ConfigPath: "../vpc", + }, }}, }, // Deep merge retryable errors @@ -267,6 +276,11 @@ t.Run(testCase.name, func(t *testing.T) { err := testCase.target.DeepMerge(testCase.source, mockOptionsForTest(t)) require.NoError(t, err) + + // if nil, initialize to empty dependency list + if testCase.expected.TerragruntDependencies == nil { + testCase.expected.TerragruntDependencies = []Dependency{} + } assert.Equal(t, testCase.expected, testCase.target) }) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/config/locals.go new/terragrunt-0.38.5/config/locals.go --- old/terragrunt-0.38.4/config/locals.go 2022-07-05 13:37:08.000000000 +0200 +++ new/terragrunt-0.38.5/config/locals.go 2022-07-13 15:59:36.000000000 +0200 @@ -93,7 +93,7 @@ diagsWriter, ) if err != nil { - terragruntOptions.Logger.Errorf("Encountered error while evaluating locals.") + terragruntOptions.Logger.Errorf("Encountered error while evaluating locals in file %s", filename) return nil, err } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/configstack/test_helpers.go new/terragrunt-0.38.5/configstack/test_helpers.go --- old/terragrunt-0.38.4/configstack/test_helpers.go 2022-07-05 13:37:08.000000000 +0200 +++ new/terragrunt-0.38.5/configstack/test_helpers.go 2022-07-13 15:59:36.000000000 +0200 @@ -4,6 +4,7 @@ "sort" "testing" + "github.com/gruntwork-io/terragrunt/config" "github.com/gruntwork-io/terragrunt/errors" "github.com/gruntwork-io/terragrunt/options" "github.com/gruntwork-io/terragrunt/util" @@ -47,7 +48,16 @@ // be compared directly func assertModulesEqual(t *testing.T, expected *TerraformModule, actual *TerraformModule, messageAndArgs ...interface{}) { if assert.NotNil(t, actual, messageAndArgs...) { + // When comparing the TerragruntConfig objects, we need to normalize the dependency list to explicitly set the + // expected to empty list when nil, as the parsing routine will set it to empty list instead of nil. + if expected.Config.TerragruntDependencies == nil { + expected.Config.TerragruntDependencies = []config.Dependency{} + } + if actual.Config.TerragruntDependencies == nil { + actual.Config.TerragruntDependencies = []config.Dependency{} + } assert.Equal(t, expected.Config, actual.Config, messageAndArgs...) + assert.Equal(t, expected.Path, actual.Path, messageAndArgs...) assert.Equal(t, expected.AssumeAlreadyApplied, actual.AssumeAlreadyApplied, messageAndArgs...) assert.Equal(t, expected.FlagExcluded, actual.FlagExcluded, messageAndArgs...) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/docs/Gemfile.lock new/terragrunt-0.38.5/docs/Gemfile.lock --- old/terragrunt-0.38.4/docs/Gemfile.lock 2022-07-05 13:37:08.000000000 +0200 +++ new/terragrunt-0.38.5/docs/Gemfile.lock 2022-07-13 15:59:36.000000000 +0200 @@ -210,15 +210,15 @@ rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.3.6) - mini_portile2 (2.6.1) + mini_portile2 (2.8.0) minima (2.5.1) jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) minitest (5.14.2) multipart-post (2.1.1) - nokogiri (1.12.5) - mini_portile2 (~> 2.6.1) + nokogiri (1.13.6) + mini_portile2 (~> 2.8.0) racc (~> 1.4) octokit (4.19.0) faraday (>= 0.9) @@ -226,7 +226,7 @@ pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (3.1.1) - racc (1.5.2) + racc (1.6.0) rb-fsevent (0.10.4) rb-inotify (0.10.1) ffi (~> 1.0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/docs/_docs/01_getting-started/quick-start.md new/terragrunt-0.38.5/docs/_docs/01_getting-started/quick-start.md --- old/terragrunt-0.38.4/docs/_docs/01_getting-started/quick-start.md 2022-07-05 13:37:08.000000000 +0200 +++ new/terragrunt-0.38.5/docs/_docs/01_getting-started/quick-start.md 2022-07-13 15:59:36.000000000 +0200 @@ -104,7 +104,7 @@ You can deploy this example by copy pasting it into a folder and running `terragrunt apply`. -NOTE: Heads up, not all Registry modules can be deployed with Terragrunt, see [A note aboud using modules from the +NOTE: Heads up, not all Registry modules can be deployed with Terragrunt, see [A note about using modules from the registry]({{ site.baseurl }}/docs/reference/config-blocks-and-attributes#a-note-about-using-modules-from-the-registry) for details. ## Key features diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/docs/_docs/02_features/keep-your-remote-state-configuration-dry.md new/terragrunt-0.38.5/docs/_docs/02_features/keep-your-remote-state-configuration-dry.md --- old/terragrunt-0.38.4/docs/_docs/02_features/keep-your-remote-state-configuration-dry.md 2022-07-05 13:37:08.000000000 +0200 +++ new/terragrunt-0.38.5/docs/_docs/02_features/keep-your-remote-state-configuration-dry.md 2022-07-13 15:59:36.000000000 +0200 @@ -206,7 +206,7 @@ block, but the underlying state bucket doesn't have versioning enabled, Terragrunt will automatically turn on versioning on the bucket to match the configuration. -If you do not want `terragrunt` to automatically apply changes, you can configuret the following: +If you do not want `terragrunt` to automatically apply changes, you can configure the following: ```hcl remote_state { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/go.mod new/terragrunt-0.38.5/go.mod --- old/terragrunt-0.38.4/go.mod 2022-07-05 13:37:08.000000000 +0200 +++ new/terragrunt-0.38.5/go.mod 2022-07-13 15:59:36.000000000 +0200 @@ -1,68 +1,129 @@ module github.com/gruntwork-io/terragrunt -go 1.16 +go 1.17 require ( - cloud.google.com/go v0.93.3 // indirect cloud.google.com/go/storage v1.16.0 - github.com/Azure/go-autorest/autorest/azure/auth v0.5.7 // indirect - github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331 // indirect - github.com/agext/levenshtein v1.2.3 // indirect github.com/aws/aws-sdk-go v1.41.7 - github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe // indirect github.com/creack/pty v1.1.11 github.com/fatih/structs v1.1.0 github.com/go-errors/errors v1.0.2-0.20180813162953-d98b870cc4e0 - github.com/go-test/deep v1.0.7 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/snappy v0.0.4 // indirect github.com/google/shlex v0.0.0-20181106134648-c34317bd91bf github.com/gruntwork-io/terratest v0.32.6 github.com/hashicorp/go-cleanhttp v0.5.2 github.com/hashicorp/go-getter v1.6.1 github.com/hashicorp/go-multierror v1.1.1 - github.com/hashicorp/go-retryablehttp v0.6.7 // indirect github.com/hashicorp/go-safetemp v1.0.0 github.com/hashicorp/go-version v1.3.0 - github.com/hashicorp/hcl v1.0.1-vault // indirect github.com/hashicorp/hcl/v2 v2.10.0 // Many functions of terraform was converted to internal to avoid use as a library after v0.15.3. This means that we // can't use terraform as a library after v0.15.3, so we pull that in here. github.com/hashicorp/terraform v0.15.3 github.com/hashicorp/terraform-config-inspect v0.0.0-20210318070130-9a80970d6b34 + github.com/imdario/mergo v0.3.11 + github.com/mattn/go-zglob v0.0.2-0.20190814121620-e3c945676326 + github.com/mitchellh/go-homedir v1.1.0 + github.com/mitchellh/mapstructure v1.3.3 + github.com/sirupsen/logrus v1.8.1 + github.com/stretchr/testify v1.6.1 + github.com/urfave/cli v1.22.3 + github.com/zclconf/go-cty v1.8.3 + go.mozilla.org/sops/v3 v3.7.2 + golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 + golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f + golang.org/x/sync v0.0.0-20210220032951-036812b2e83c + golang.org/x/sys v0.0.0-20220517195934-5e4e11fc645e + google.golang.org/api v0.54.0 +) + +require ( + cloud.google.com/go v0.93.3 // indirect + filippo.io/age v1.0.0-beta7 // indirect + github.com/Azure/azure-sdk-for-go v52.5.0+incompatible // indirect + github.com/Azure/go-autorest v14.2.0+incompatible // indirect + github.com/Azure/go-autorest/autorest v0.11.18 // indirect + github.com/Azure/go-autorest/autorest/adal v0.9.13 // indirect + github.com/Azure/go-autorest/autorest/azure/auth v0.5.7 // indirect + github.com/Azure/go-autorest/autorest/azure/cli v0.4.2 // indirect + github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect + github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect + github.com/Azure/go-autorest/autorest/validation v0.3.1 // indirect + github.com/Azure/go-autorest/logger v0.2.1 // indirect + github.com/Azure/go-autorest/tracing v0.6.0 // indirect + github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331 // indirect + github.com/agext/levenshtein v1.2.3 // indirect + github.com/apparentlymart/go-cidr v1.1.0 // indirect + github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect + github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect + github.com/blang/semver v3.5.1+incompatible // indirect + github.com/bmatcuk/doublestar v1.1.5 // indirect + github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc // indirect + github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/dimchansky/utfbom v1.1.1 // indirect + github.com/fatih/color v1.9.0 // indirect + github.com/form3tech-oss/jwt-go v3.2.2+incompatible // indirect + github.com/frankban/quicktest v1.11.3 // indirect + github.com/go-sql-driver/mysql v1.5.0 // indirect + github.com/go-test/deep v1.0.7 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/protobuf v1.5.2 // indirect + github.com/golang/snappy v0.0.4 // indirect + github.com/google/go-cmp v0.5.6 // indirect + github.com/google/uuid v1.2.0 // indirect + github.com/googleapis/gax-go/v2 v2.0.5 // indirect + github.com/goware/prefixer v0.0.0-20160118172347-395022866408 // indirect + github.com/gruntwork-io/gruntwork-cli v0.7.0 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-retryablehttp v0.6.7 // indirect + github.com/hashicorp/go-rootcerts v1.0.2 // indirect + github.com/hashicorp/go-sockaddr v1.0.2 // indirect + github.com/hashicorp/go-uuid v1.0.2 // indirect + github.com/hashicorp/hcl v1.0.1-vault // indirect + github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734 // indirect github.com/hashicorp/vault/api v1.0.5-0.20210210214158-405eced08457 // indirect github.com/hashicorp/vault/sdk v0.1.14-0.20210322210658-b52b8b8c1264 // indirect - github.com/imdario/mergo v0.3.11 + github.com/howeyc/gopass v0.0.0-20170109162249-bf9dde6d0d2c // indirect + github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/klauspost/compress v1.13.4 // indirect github.com/kr/pretty v0.2.1 // indirect + github.com/lib/pq v1.8.0 // indirect github.com/mattn/go-colorable v0.1.7 // indirect - github.com/mattn/go-zglob v0.0.2-0.20190814121620-e3c945676326 - github.com/mitchellh/go-homedir v1.1.0 + github.com/mattn/go-isatty v0.0.12 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/go-wordwrap v1.0.1 // indirect - github.com/mitchellh/mapstructure v1.3.3 github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect - github.com/opencontainers/runc v1.0.0-rc9 // indirect + github.com/opencontainers/image-spec v1.0.2 // indirect + github.com/opencontainers/runc v1.1.2 // indirect github.com/ory/dockertest v3.3.5+incompatible // indirect + github.com/pierrec/lz4 v2.5.2+incompatible // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect github.com/pquerna/otp v1.2.1-0.20191009055518-468c2dd2b58d // indirect - github.com/sirupsen/logrus v1.6.0 + github.com/russross/blackfriday/v2 v2.0.1 // indirect + github.com/ryanuber/go-glob v1.0.0 // indirect + github.com/sergi/go-diff v1.1.0 // indirect + github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect github.com/smartystreets/goconvey v1.6.4 // indirect - github.com/stretchr/testify v1.6.1 github.com/ulikunitz/xz v0.5.10 // indirect - github.com/urfave/cli v1.22.3 - github.com/zclconf/go-cty v1.8.3 - go.mozilla.org/sops/v3 v3.7.2 - golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 + github.com/zclconf/go-cty-yaml v1.0.2 // indirect + go.mozilla.org/gopgagent v0.0.0-20170926210634-4d7ea76ff71a // indirect + go.opencensus.io v0.23.0 // indirect golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d // indirect - golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f - golang.org/x/sync v0.0.0-20210220032951-036812b2e83c - golang.org/x/sys v0.0.0-20220517195934-5e4e11fc645e + golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect - google.golang.org/api v0.54.0 + google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8 // indirect + google.golang.org/grpc v1.40.0 // indirect + google.golang.org/protobuf v1.27.1 // indirect gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect + gopkg.in/ini.v1 v1.44.0 // indirect + gopkg.in/square/go-jose.v2 v2.5.1 // indirect + gopkg.in/urfave/cli.v1 v1.20.0 // indirect + gopkg.in/yaml.v3 v3.0.0-20210107172259-749611fa9fcc // indirect ) // This is necessary to workaround go modules error with terraform importing vault incorrectly. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/go.sum new/terragrunt-0.38.5/go.sum --- old/terragrunt-0.38.4/go.sum 2022-07-05 13:37:08.000000000 +0200 +++ new/terragrunt-0.38.5/go.sum 2022-07-13 15:59:36.000000000 +0200 @@ -215,10 +215,12 @@ github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= @@ -229,6 +231,7 @@ github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= +github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/containerd v1.3.4/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= @@ -249,6 +252,7 @@ github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= @@ -261,6 +265,7 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -315,8 +320,9 @@ github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/form3tech-oss/jwt-go v3.2.2+incompatible h1:TcekIExNqud5crz4xD2pavyTgWiPvpYe4Xau31I0PRk= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/frankban/quicktest v1.10.0 h1:Gfh+GAJZOAoKZsIZeZbdn2JF10kN1XHNvjsvQK8gVkE= github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y= +github.com/frankban/quicktest v1.11.3 h1:8sXhOn0uLys67V8EsXLc6eszDs8VXWxL3iRvebPhedY= +github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -359,6 +365,8 @@ github.com/go-test/deep v1.0.7 h1:/VSMRlnY/JSyqxQUzQLKVMAskpY/NZKFA5j2P+0pP2M= github.com/go-test/deep v1.0.7/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8= github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -626,8 +634,6 @@ github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= @@ -707,6 +713,7 @@ github.com/mitchellh/panicwrap v1.0.0/go.mod h1:pKvZHwWrZowLUzftuFq7coarnxbBXU4aQh3N0BJOeeA= github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= @@ -714,6 +721,7 @@ github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mozillazg/go-httpheader v0.2.1/go.mod h1:jJ8xECTlalr6ValeXYdOF8fFUISeBAdw6E61aqQma60= +github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -738,13 +746,16 @@ github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI= github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= +github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v1.0.0-rc9 h1:/k06BMULKF5hidyoZymkoDCzdJzltZpz/UU4LguQVtc= -github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.1.2 h1:2VSZwLx5k/BfsBxMMipG/LYUnmqOD/BPkIVgQUcTlLw= +github.com/opencontainers/runc v1.1.2/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= github.com/oracle/oci-go-sdk v7.1.0+incompatible/go.mod h1:VQb79nF8Z2cwLkLS35ukwStZIg5F66tcBccjip/j888= github.com/ory/dockertest v3.3.4+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= @@ -810,6 +821,7 @@ github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/sclevine/spec v1.2.0/go.mod h1:W4J29eT/Kzv7/b9IWLB055Z+qvVC9vt0Arko24q7p+U= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= @@ -819,8 +831,8 @@ github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v0.0.0-20180222194500-ef6db91d284a/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s= @@ -854,6 +866,7 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/tencentcloud/tencentcloud-sdk-go v3.0.82+incompatible/go.mod h1:0PfYow01SHPMhKY31xa+EFz2RStxIqj6JFAJS+IkCi4= github.com/tencentyun/cos-go-sdk-v5 v0.0.0-20190808065407-f07404cefc8c/go.mod h1:wk2XFUg6egk4tSDNZtXeKfe2G6690UVyt163PuUxBZk= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= @@ -872,6 +885,8 @@ github.com/urfave/cli v1.22.3 h1:FpNT6zq26xNpHZy08emi755QwzLPs6Pukqjlc7RfOMU= github.com/urfave/cli v1.22.3/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/vdemeester/k8s-pkg-credentialprovider v0.0.0-20200107171650-7c61ffa44238/go.mod h1:JwQJCMWpUDqjZrB5jpw0f5VbN7U95zxFy1ZDpoEarGo= +github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= +github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= @@ -1027,6 +1042,7 @@ golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= @@ -1088,6 +1104,7 @@ golang.org/x/sys v0.0.0-20190509141414-a5b02f93d862/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1100,6 +1117,7 @@ golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191128015809-6d18c012aee9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1125,6 +1143,7 @@ golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1137,6 +1156,9 @@ golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220517195934-5e4e11fc645e h1:w36l2Uw3dRan1K3TyXriXvY+6T56GNmlKGcqiQUJDfM= golang.org/x/sys v0.0.0-20220517195934-5e4e11fc645e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/test/fixture-broken-dependency/app/terragrunt.hcl new/terragrunt-0.38.5/test/fixture-broken-dependency/app/terragrunt.hcl --- old/terragrunt-0.38.4/test/fixture-broken-dependency/app/terragrunt.hcl 1970-01-01 01:00:00.000000000 +0100 +++ new/terragrunt-0.38.5/test/fixture-broken-dependency/app/terragrunt.hcl 2022-07-13 15:59:36.000000000 +0200 @@ -0,0 +1,8 @@ +dependency "dependency" { + config_path = "../dependency" + + mock_outputs = { + test = "value" + } + +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/test/fixture-broken-dependency/dependency/main.tf new/terragrunt-0.38.5/test/fixture-broken-dependency/dependency/main.tf --- old/terragrunt-0.38.4/test/fixture-broken-dependency/dependency/main.tf 1970-01-01 01:00:00.000000000 +0100 +++ new/terragrunt-0.38.5/test/fixture-broken-dependency/dependency/main.tf 2022-07-13 15:59:36.000000000 +0200 @@ -0,0 +1,3 @@ +module "example_module" { + source = "/tmp/not-existing-path" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/test/fixture-broken-locals/terragrunt.hcl new/terragrunt-0.38.5/test/fixture-broken-locals/terragrunt.hcl --- old/terragrunt-0.38.4/test/fixture-broken-locals/terragrunt.hcl 1970-01-01 01:00:00.000000000 +0100 +++ new/terragrunt-0.38.5/test/fixture-broken-locals/terragrunt.hcl 2022-07-13 15:59:36.000000000 +0200 @@ -0,0 +1,3 @@ +locals { + file = yamldecode(sops_decrypt_file("not-existing-file-that-will-fail-locals-evaluating.yaml")) +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/test/fixture-render-json-regression/bar/terragrunt.hcl new/terragrunt-0.38.5/test/fixture-render-json-regression/bar/terragrunt.hcl --- old/terragrunt-0.38.4/test/fixture-render-json-regression/bar/terragrunt.hcl 1970-01-01 01:00:00.000000000 +0100 +++ new/terragrunt-0.38.5/test/fixture-render-json-regression/bar/terragrunt.hcl 2022-07-13 15:59:36.000000000 +0200 @@ -0,0 +1,3 @@ +inputs = { + from_root = "Hi" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/test/fixture-render-json-regression/baz/main.tf new/terragrunt-0.38.5/test/fixture-render-json-regression/baz/main.tf --- old/terragrunt-0.38.4/test/fixture-render-json-regression/baz/main.tf 1970-01-01 01:00:00.000000000 +0100 +++ new/terragrunt-0.38.5/test/fixture-render-json-regression/baz/main.tf 2022-07-13 15:59:36.000000000 +0200 @@ -0,0 +1,3 @@ +output "baz" { + value = "baz" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/test/fixture-render-json-regression/baz/terragrunt.hcl new/terragrunt-0.38.5/test/fixture-render-json-regression/baz/terragrunt.hcl --- old/terragrunt-0.38.4/test/fixture-render-json-regression/baz/terragrunt.hcl 1970-01-01 01:00:00.000000000 +0100 +++ new/terragrunt-0.38.5/test/fixture-render-json-regression/baz/terragrunt.hcl 2022-07-13 15:59:36.000000000 +0200 @@ -0,0 +1 @@ +# empty diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/test/fixture-render-json-regression/foo/main.tf new/terragrunt-0.38.5/test/fixture-render-json-regression/foo/main.tf --- old/terragrunt-0.38.4/test/fixture-render-json-regression/foo/main.tf 1970-01-01 01:00:00.000000000 +0100 +++ new/terragrunt-0.38.5/test/fixture-render-json-regression/foo/main.tf 2022-07-13 15:59:36.000000000 +0200 @@ -0,0 +1,6 @@ +output "foo" { + value = "foo" +} + +variable "foo" {} +variable "baz" {} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/test/fixture-render-json-regression/terragrunt.hcl new/terragrunt-0.38.5/test/fixture-render-json-regression/terragrunt.hcl --- old/terragrunt-0.38.4/test/fixture-render-json-regression/terragrunt.hcl 1970-01-01 01:00:00.000000000 +0100 +++ new/terragrunt-0.38.5/test/fixture-render-json-regression/terragrunt.hcl 2022-07-13 15:59:36.000000000 +0200 @@ -0,0 +1,28 @@ +terraform { + source = "./foo" +} + +locals { + foo = "bar" +} + +include "root" { + path = "./bar/terragrunt.hcl" + expose = true +} + +dependency "baz" { + config_path = "./baz" +} + +generate "provider" { + path = "provider.tf" + if_exists = "overwrite" + contents = "# This is just a test" +} + +inputs = { + foo = "bar" + baz = "blah" + another = dependency.baz.outputs.baz +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/test/integration_debug_test.go new/terragrunt-0.38.5/test/integration_debug_test.go --- old/terragrunt-0.38.4/test/integration_debug_test.go 2022-07-05 13:37:08.000000000 +0200 +++ new/terragrunt-0.38.5/test/integration_debug_test.go 2022-07-13 15:59:36.000000000 +0200 @@ -22,6 +22,7 @@ fixtureMultiIncludeDependency = "fixture-multiinclude-dependency" fixtureRenderJSON = "fixture-render-json" + fixtureRenderJSONRegression = "fixture-render-json-regression" ) var ( @@ -218,7 +219,28 @@ ) } - // Make sure included dependency block is rendered out + // Make sure dependency blocks are rendered out + dependencyBlocks, hasDependency := rendered["dependency"] + if assert.True(t, hasDependency) { + assert.Equal( + t, + map[string]interface{}{ + "dep": map[string]interface{}{ + "name": "dep", + "config_path": "../dep", + "outputs": nil, + "mock_outputs": nil, + "mock_outputs_allowed_terraform_commands": nil, + "mock_outputs_merge_strategy_with_state": nil, + "mock_outputs_merge_with_state": nil, + "skip": nil, + }, + }, + dependencyBlocks.(map[string]interface{}), + ) + } + + // Make sure included generate block is rendered out generateBlocks, hasGenerate := rendered["generate"] if assert.True(t, hasGenerate) { assert.Equal( @@ -252,6 +274,99 @@ }, inputsBlock.(map[string]interface{}), ) + } +} + +func TestRenderJSONConfigWithIncludesDependenciesAndLocals(t *testing.T) { + t.Parallel() + + tmpDir, err := ioutil.TempDir("", "terragrunt-render-json-*") + require.NoError(t, err) + jsonOut := filepath.Join(tmpDir, "terragrunt_rendered.json") + defer os.RemoveAll(tmpDir) + + runTerragrunt(t, fmt.Sprintf("terragrunt run-all apply -auto-approve --terragrunt-non-interactive --terragrunt-log-level debug --terragrunt-working-dir %s", fixtureRenderJSONRegression)) + + runTerragrunt(t, fmt.Sprintf("terragrunt render-json --terragrunt-non-interactive --terragrunt-log-level debug --terragrunt-working-dir %s --terragrunt-json-out %s", fixtureRenderJSONRegression, jsonOut)) + + jsonBytes, err := ioutil.ReadFile(jsonOut) + require.NoError(t, err) + + var rendered map[string]interface{} + require.NoError(t, json.Unmarshal(jsonBytes, &rendered)) + + // Make sure all terraform block is visible + terraformBlock, hasTerraform := rendered["terraform"] + if assert.True(t, hasTerraform) { + source, hasSource := terraformBlock.(map[string]interface{})["source"] + require.True(t, hasSource) + assert.Equal(t, "./foo", source) + } + + // Make sure top level locals are rendered out + locals, hasLocals := rendered["locals"] + if assert.True(t, hasLocals) { + assert.Equal( + t, + map[string]interface{}{ + "foo": "bar", + }, + locals.(map[string]interface{}), + ) + } + + // Make sure included dependency block is rendered out, and with the outputs rendered + dependencyBlocks, hasDependency := rendered["dependency"] + if assert.True(t, hasDependency) { + assert.Equal( + t, + map[string]interface{}{ + "baz": map[string]interface{}{ + "name": "baz", + "config_path": "./baz", + "outputs": nil, + "mock_outputs": nil, + "mock_outputs_allowed_terraform_commands": nil, + "mock_outputs_merge_strategy_with_state": nil, + "mock_outputs_merge_with_state": nil, + "skip": nil, + }, + }, + dependencyBlocks.(map[string]interface{}), + ) + } + + // Make sure generate block is rendered out + generateBlocks, hasGenerate := rendered["generate"] + if assert.True(t, hasGenerate) { + assert.Equal( + t, + map[string]interface{}{ + "provider": map[string]interface{}{ + "path": "provider.tf", + "comment_prefix": "# ", + "disable_signature": false, + "if_exists": "overwrite", + "contents": "# This is just a test", + }, + }, + generateBlocks.(map[string]interface{}), + ) + } + + // Make sure all inputs are merged together + inputsBlock, hasInputs := rendered["inputs"] + if assert.True(t, hasInputs) { + assert.Equal( + t, + map[string]interface{}{ + "foo": "bar", + "baz": "blah", + "another": "baz", + "from_root": "Hi", + }, + inputsBlock.(map[string]interface{}), + ) } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.38.4/test/integration_test.go new/terragrunt-0.38.5/test/integration_test.go --- old/terragrunt-0.38.4/test/integration_test.go 2022-07-05 13:37:08.000000000 +0200 +++ new/terragrunt-0.38.5/test/integration_test.go 2022-07-13 15:59:36.000000000 +0200 @@ -126,6 +126,8 @@ TEST_FIXTURE_INCLUDE_PARENT = "fixture-include-parent" TEST_FIXTURE_AUTO_INIT = "fixture-download/init-on-source-change" TEST_FIXTURE_DISJOINT = "fixture-stack/disjoint" + TEST_FIXTURE_BROKEN_LOCALS = "fixture-broken-locals" + TEST_FIXTURE_BROKEN_DEPENDENCY = "fixture-broken-dependency" TERRAFORM_BINARY = "terraform" TERRAFORM_FOLDER = ".terraform" TERRAFORM_STATE = "terraform.tfstate" @@ -3713,6 +3715,34 @@ assert.True(t, isTgVersionError) } +func TestLogFailedLocalsEvaluation(t *testing.T) { + var ( + stdout bytes.Buffer + stderr bytes.Buffer + ) + + err := runTerragruntCommand(t, fmt.Sprintf("terragrunt apply -auto-approve --terragrunt-non-interactive --terragrunt-working-dir %s --terragrunt-log-level debug", TEST_FIXTURE_BROKEN_LOCALS), &stdout, &stderr) + output := stderr.String() + + assert.Error(t, err) + assert.Contains(t, output, "Encountered error while evaluating locals in file fixture-broken-locals/terragrunt.hcl") +} + +func TestLogFailingDependencies(t *testing.T) { + var ( + stdout bytes.Buffer + stderr bytes.Buffer + ) + + path := filepath.Join(TEST_FIXTURE_BROKEN_DEPENDENCY, "app") + + err := runTerragruntCommand(t, fmt.Sprintf("terragrunt apply -auto-approve --terragrunt-non-interactive --terragrunt-working-dir %s --terragrunt-log-level debug", path), &stdout, &stderr) + output := stderr.String() + + assert.Error(t, err) + assert.Contains(t, output, "Terraform invocation failed in fixture-broken-dependency/dependency") +} + func cleanupTerraformFolder(t *testing.T, templatesPath string) { removeFile(t, util.JoinPath(templatesPath, TERRAFORM_STATE)) removeFile(t, util.JoinPath(templatesPath, TERRAFORM_STATE_BACKUP)) ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/terragrunt/vendor.tar.gz /work/SRC/openSUSE:Factory/.terragrunt.new.1523/vendor.tar.gz differ: char 5, line 1