Skip to content

v2: SGTM users are now synced via a file in S3, rather than via an Asana project

Latest
Compare
Choose a tag to compare
@harshita-gupta harshita-gupta released this 16 Apr 06:16
· 29 commits to master since this release
2498b0e

Historically, when SGTM has needed to map github users to Asana users, it's relied on an Asana project that maps github usernames to Asana domain user GIDs. The project ID was specified via the environment variable TF_VAR_asana_users_project_id. Now, SGTM reads a JSON mapping from github_username to asana_user_gid -- see our updated readme for more on the expected format of this S3 file.

If you're migrating from v1 to v2, you should make sure to get your S3 file in place independently. then set export TF_VAR_asana_users_project_id=<S3_BUCKET_NAME/S3_KEY>, and run a terragrant apply.

v2 drastically reduces code complexity and infrastructure resources for SGTM -- the sgtm-users DynamoDB table, sync-users lambda, and supporting policies + Asana project can now be safely deleted. SGTM on!

A note on statefulness vs. statelessness: if your S3 file does not persist historical github-username -> domain user ID info for users who no longer are part of your org/work at your organization, SGTM will lose the github->asana associations when those users 'leave'. Our previous design persisted historical users in SGTM state; our new design relies on the S3 file to maintain state, and if the s3 file loses it, we don't store it elsewhere.