Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package terragrunt for openSUSE:Factory checked in at 2023-02-05 19:20:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/terragrunt (Old) and /work/SRC/openSUSE:Factory/.terragrunt.new.4462 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "terragrunt" Sun Feb 5 19:20:24 2023 rev:28 rq:1063166 version:0.43.2 Changes: -------- --- /work/SRC/openSUSE:Factory/terragrunt/terragrunt.changes 2023-02-02 18:19:01.628032101 +0100 +++ /work/SRC/openSUSE:Factory/.terragrunt.new.4462/terragrunt.changes 2023-02-05 19:20:25.343633134 +0100 @@ -1,0 +2,6 @@ +Sat Feb 04 12:23:12 UTC 2023 - ka...@b1-systems.de + +- Update to version 0.43.2: + * Improved handling of default value for sse_algorithm (#2438) + +------------------------------------------------------------------- Old: ---- terragrunt-0.43.1.tar.gz New: ---- terragrunt-0.43.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ terragrunt.spec ++++++ --- /var/tmp/diff_new_pack.8RMTLo/_old 2023-02-05 19:20:26.091637457 +0100 +++ /var/tmp/diff_new_pack.8RMTLo/_new 2023-02-05 19:20:26.095637480 +0100 @@ -19,7 +19,7 @@ %define __arch_install_post export NO_BRP_STRIP_DEBUG=true Name: terragrunt -Version: 0.43.1 +Version: 0.43.2 Release: 0 Summary: Thin wrapper for Terraform for working with multiple Terraform modules License: MIT ++++++ _service ++++++ --- /var/tmp/diff_new_pack.8RMTLo/_old 2023-02-05 19:20:26.131637688 +0100 +++ /var/tmp/diff_new_pack.8RMTLo/_new 2023-02-05 19:20:26.135637712 +0100 @@ -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.43.1</param> + <param name="revision">v0.43.2</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.43.1.tar.gz</param> + <param name="archive">terragrunt-0.43.2.tar.gz</param> </service> </services> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.8RMTLo/_old 2023-02-05 19:20:26.159637850 +0100 +++ /var/tmp/diff_new_pack.8RMTLo/_new 2023-02-05 19:20:26.163637873 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/gruntwork-io/terragrunt</param> - <param name="changesrevision">6d8c982af561a93f9e37a92aa9af11e461c50c02</param></service></servicedata> + <param name="changesrevision">0966273d41466b5ec4220f35e8e6cafdb5a581a1</param></service></servicedata> (No newline at EOF) ++++++ terragrunt-0.43.1.tar.gz -> terragrunt-0.43.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.43.1/remote/remote_state_s3.go new/terragrunt-0.43.2/remote/remote_state_s3.go --- old/terragrunt-0.43.1/remote/remote_state_s3.go 2023-01-31 20:57:09.000000000 +0100 +++ new/terragrunt-0.43.2/remote/remote_state_s3.go 2023-02-02 22:04:34.000000000 +0100 @@ -1135,7 +1135,7 @@ for _, rule := range output.ServerSideEncryptionConfiguration.Rules { if rule.ApplyServerSideEncryptionByDefault != nil { if rule.ApplyServerSideEncryptionByDefault.SSEAlgorithm != nil { - if *rule.ApplyServerSideEncryptionByDefault.SSEAlgorithm == config.BucketSSEAlgorithm { + if *rule.ApplyServerSideEncryptionByDefault.SSEAlgorithm == fetchEncryptionAlgorithm(config) { return true, nil } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.43.1/test/fixture-s3-encryption/basic-encryption/terragrunt.hcl new/terragrunt-0.43.2/test/fixture-s3-encryption/basic-encryption/terragrunt.hcl --- old/terragrunt-0.43.1/test/fixture-s3-encryption/basic-encryption/terragrunt.hcl 1970-01-01 01:00:00.000000000 +0100 +++ new/terragrunt-0.43.2/test/fixture-s3-encryption/basic-encryption/terragrunt.hcl 2023-02-02 22:04:34.000000000 +0100 @@ -0,0 +1,17 @@ +remote_state { + backend = "s3" + generate = { + path = "backend.tf" + if_exists = "overwrite" + } + config = { + encrypt = true + bucket = "__FILL_IN_BUCKET_NAME__" + key = "terraform.tfstate" + region = "us-west-2" + dynamodb_table = "__FILL_IN_LOCK_TABLE_NAME__" + enable_lock_table_ssencryption = true + bucket_sse_kms_key_id = "alias/dedicated-test-key" + + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.43.1/test/integration_s3_encryption_test.go new/terragrunt-0.43.2/test/integration_s3_encryption_test.go --- old/terragrunt-0.43.1/test/integration_s3_encryption_test.go 2023-01-31 20:57:09.000000000 +0100 +++ new/terragrunt-0.43.2/test/integration_s3_encryption_test.go 2023-02-02 22:04:34.000000000 +0100 @@ -1,7 +1,9 @@ package test import ( + "bytes" "fmt" + "path/filepath" "strings" "testing" @@ -15,8 +17,9 @@ ) const ( - s3SSEAESFixturePath = "fixture-s3-encryption/sse-aes" - s3SSECustomKeyFixturePath = "fixture-s3-encryption/custom-key" + s3SSEAESFixturePath = "fixture-s3-encryption/sse-aes" + s3SSECustomKeyFixturePath = "fixture-s3-encryption/custom-key" + s3SSBasicEncryptionFixturePath = "fixture-s3-encryption/basic-encryption" ) func TestTerragruntS3SSEAES(t *testing.T) { @@ -69,3 +72,42 @@ assert.True(t, strings.HasSuffix(aws.StringValue(sseRule.KMSMasterKeyID), "alias/dedicated-test-key")) } + +func TestTerragruntS3SSEKeyNotReverted(t *testing.T) { + t.Parallel() + + cleanupTerraformFolder(t, s3SSBasicEncryptionFixturePath) + + s3BucketName := fmt.Sprintf("terragrunt-test-bucket-%s", strings.ToLower(uniqueId())) + lockTableName := fmt.Sprintf("terragrunt-test-locks-%s", strings.ToLower(uniqueId())) + + defer deleteS3Bucket(t, TERRAFORM_REMOTE_STATE_S3_REGION, s3BucketName) + defer cleanupTableForTest(t, lockTableName, TERRAFORM_REMOTE_STATE_S3_REGION) + + stdout := bytes.Buffer{} + stderr := bytes.Buffer{} + + tmpTerragruntConfigPath := createTmpTerragruntConfig(t, s3SSBasicEncryptionFixturePath, s3BucketName, lockTableName, config.DefaultTerragruntConfigPath) + runTerragruntRedirectOutput(t, fmt.Sprintf("terragrunt apply -auto-approve --terragrunt-non-interactive --terragrunt-working-dir %s", filepath.Dir(tmpTerragruntConfigPath)), &stdout, &stderr) + output := stderr.String() + + // verify that bucket encryption message is not printed + assert.NotContains(t, output, "Bucket Server-Side Encryption") + + stdout = bytes.Buffer{} + stderr = bytes.Buffer{} + tmpTerragruntConfigPath = createTmpTerragruntConfig(t, s3SSBasicEncryptionFixturePath, s3BucketName, lockTableName, config.DefaultTerragruntConfigPath) + runTerragruntRedirectOutput(t, fmt.Sprintf("terragrunt apply -auto-approve --terragrunt-non-interactive --terragrunt-working-dir %s", filepath.Dir(tmpTerragruntConfigPath)), &stdout, &stderr) + output = stderr.String() + assert.NotContains(t, output, "Bucket Server-Side Encryption") + + // verify that encryption key is not reverted + client := terraws.NewS3Client(t, TERRAFORM_REMOTE_STATE_S3_REGION) + resp, err := client.GetBucketEncryption(&s3.GetBucketEncryptionInput{Bucket: aws.String(s3BucketName)}) + require.NoError(t, err) + require.Equal(t, 1, len(resp.ServerSideEncryptionConfiguration.Rules)) + sseRule := resp.ServerSideEncryptionConfiguration.Rules[0].ApplyServerSideEncryptionByDefault + require.NotNil(t, sseRule) + assert.Equal(t, s3.ServerSideEncryptionAwsKms, aws.StringValue(sseRule.SSEAlgorithm)) + assert.True(t, strings.HasSuffix(aws.StringValue(sseRule.KMSMasterKeyID), "alias/dedicated-test-key")) +} ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/terragrunt/vendor.tar.gz /work/SRC/openSUSE:Factory/.terragrunt.new.4462/vendor.tar.gz differ: char 5, line 1