Skip to content

Releases: controlshift/terraform-aws-controlshift-redshift-sync

Update minimum required Terraform version

15 Jan 13:09
d60a956

Choose a tag to compare

Updated minimum terraform version to 1.4.5, resolving deprecations.

The following import statements may need to be run before terraform apply (with GLUE_SCRIPTS_BUCKET_NAME and MANIFEST_BUCKET_NAME replaced with the actual S3 bucket names):

terraform import aws_s3_bucket_ownership_controls.glue_resources GLUE_SCRIPTS_BUCKET_NAME
terraform import aws_s3_bucket_lifecycle_configuration.glue_resources GLUE_SCRIPTS_BUCKET_NAME

terraform import -provider=aws.controlshift aws_s3_bucket_ownership_controls.manifest MANIFEST_BUCKET_NAME

Thanks @strangeways for updating!

Fix on column mappings

30 Nov 18:15
a6b0960

Choose a tag to compare

Use character varying for hstore and jsonb columns instead of the unsupported string data type. Thanks @sjwmoveon for the fix!

Update to use new version of aws-lambda-redshift-loader

17 Oct 15:30
f7b6243

Choose a tag to compare

Update Lambdas runtime to Node 16.x

24 Aug 18:01
a3b22c6

Choose a tag to compare

Node 12.x runtime is deprecated and will stop getting security updates on Nov. 4th 2022. Full update from AWS: https://aws.amazon.com/blogs/developer/announcing-the-end-of-support-for-node-js-12-x-in-the-aws-sdk-for-javascript-v3/

Dynamically set Glue job script column mappings on terraform apply

14 Jun 20:52
523760b

Choose a tag to compare

The signatures_job.py script is now generated with the column mappings between CSV files and Redshift based on the signatures table schema as returned by the /api/bulk_data/schema.json API endpoint.
This should make it easier to update the script whenever there are schema changes in the signatures table, just by running terraform apply.

Fixes on column mappings

24 May 21:29
08cfe54

Choose a tag to compare

Fixed data types for multiple columns on the signatures_job.py script that prevented the values from being correctly imported to Redshift.

Update terraform AWS provider to v4

25 Mar 18:52
c906074

Choose a tag to compare

The expected changes on existing resources are the following:

  • New aws_s3_bucket_acl.glue_resources resource for setting ACL on the glue scripts bucket. ACL hasn't changed, bucket is still private.
  • New aws_s3_bucket_acl.manifest resource for setting ACL on the manifests bucket. ACL hasn't changed, bucket is still private.
  • New aws_s3_bucket_lifecycle_configuration.manifest resource for setting the life cycle policy for files in the manifests bucket. Life cycle policy hasn't change, files will still be removed after 5 days.
  • New aws_s3_bucket_server_side_encryption_configuration.glue_resources resource for setting server-side encryption on the glue scripts bucket.
  • New aws_s3_bucket_server_side_encryption_configuration.manifest resource for setting server-side encryption on the manifests bucket.
  • Resource aws_s3_bucket_object.signatures_script is replaced by aws_s3_object.signatures_script. This effectively creates a new file in S3 with the script run by Glue, the script itself hasn't changed though.

Handle CSVs compression

30 Nov 15:16
6e601ea

Choose a tag to compare

Adds support for setting the compress value for controlshift-redshift-loader Lambda function based on the value returned from the ControlShift instance API.

Upgrade Job to Glue 3.0

18 Nov 16:41
2f140d8

Choose a tag to compare

Glue 3.0 introduced several improvements, most notably, performance has been improved noticeably (you can see the release notes here).

The upgrade should be transparent if you haven't modified the Job's script, otherwise you can check out the documentation on migrating from AWS Glue 1.0 to AWS Glue 3.0.

Fix VPC endpoint for S3

17 Nov 16:24
41fcbb4

Choose a tag to compare

Fixes a bug where the VPC Endpoint for S3 was created without an associated route table, making it unusable.