Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Self-updating module considerations #36

Open
marshall7m opened this issue Nov 7, 2022 · 0 comments
Open

Self-updating module considerations #36

marshall7m opened this issue Nov 7, 2022 · 0 comments
Labels

Comments

@marshall7m
Copy link
Owner

If a new version of this module was applied to a user's AWS account within it's own Step Function execution, the downstream executions may be effected.

For example, a version of this module may introduce new metadb columns to the executions or account_dim tables. The trigger SF lambda function now handles these new columns but the running execution records will not have valid values for these new columns. This will cause the Trigger SF lambda function to break since it will requesting the new columns from the old record.

Potential solutions:

  • Refactor create_metadb_tables.sql and create_metadb_users.sql to update attributes if table/user exists rather than skipping the query operation entirely when running the terraform apply on the module

  • To propagate the new columns to the existing running execution records, rerun the Create Deploy Stack ECS task with the same parameters. Refactor the create deploy stack SQL to also update the records if they exists.

  • Put a hard limitation on this module saying that there should be no downstream dependencies on this module. This will prevent any inconsistency within metadb records and CI pipeline versioning within the scope of the PR. This will ensure that the new changes will only be applied to future PRs. Does bring the tradeoff of users not being able to define Terragrunt dependency blocks using this module.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant