{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":502930270,"defaultBranch":"main","name":"terraform","ownerLogin":"bschaatsbergen","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2022-06-13T11:38:21.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/58337159?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1725905030.0","currentOid":""},"activityList":{"items":[{"before":"981cf3968e520c99a10246c9cda1ed5b42c6b83b","after":"8044f69e94cc1daa728faeaa77134f27047553f6","ref":"refs/heads/b/fix-secret-suffix","pushedAt":"2024-09-20T13:51:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"chore: move validation to configure","shortMessageHtmlLink":"chore: move validation to configure"}},{"before":"f841e4ccced6342f44ffb2db89880a8757869840","after":"981cf3968e520c99a10246c9cda1ed5b42c6b83b","ref":"refs/heads/b/fix-secret-suffix","pushedAt":"2024-09-20T13:09:28.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"chore: refactor to offload logic to a separate function","shortMessageHtmlLink":"chore: refactor to offload logic to a separate function"}},{"before":"3893edc22d9836fd6b2df88a483e38eafac92114","after":"f841e4ccced6342f44ffb2db89880a8757869840","ref":"refs/heads/b/fix-secret-suffix","pushedAt":"2024-09-20T12:42:08.000Z","pushType":"push","commitsCount":109,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'upstream/main' into b/fix-secret-suffix","shortMessageHtmlLink":"Merge remote-tracking branch 'upstream/main' into b/fix-secret-suffix"}},{"before":"b7889ce78339aae2721be67030690c4cfb25504a","after":null,"ref":"refs/heads/f/s3-conditional-writes","pushedAt":"2024-09-09T18:03:50.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"}},{"before":"8d21c63488cae885b2f713d1165902341b90a708","after":"8be88f76ea0b9a27a1a934f6340f70afbcce7a87","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-09T17:54:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"feat: add lock file support for S3 backend","shortMessageHtmlLink":"feat: add lock file support for S3 backend"}},{"before":"7ecc12cfb8a87b5d15359b874b650a1189365cbd","after":"8d21c63488cae885b2f713d1165902341b90a708","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-09T17:54:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"chore: rename `lockfile` to `use_lockfile`","shortMessageHtmlLink":"chore: rename lockfile to use_lockfile"}},{"before":"56ed46ee1d0207374944ab91abcf80cf20462906","after":"7ecc12cfb8a87b5d15359b874b650a1189365cbd","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-09T14:00:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"chore: replace ETag lock ID with uuid lock ID","shortMessageHtmlLink":"chore: replace ETag lock ID with uuid lock ID"}},{"before":"d0456f105d4b97d8a1dc3334fa3e1232f954f53f","after":"56ed46ee1d0207374944ab91abcf80cf20462906","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-09T14:00:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"feat: add force unlock to tests","shortMessageHtmlLink":"feat: add force unlock to tests"}},{"before":"efb9461c57c4645f2dfe1ad3d47c2e20cd66af94","after":"d0456f105d4b97d8a1dc3334fa3e1232f954f53f","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-09T13:39:28.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"tests: add tests for lockfile","shortMessageHtmlLink":"tests: add tests for lockfile"}},{"before":"9fb1c87e05de0a1e3a22692ba861cb710a00e564","after":"efb9461c57c4645f2dfe1ad3d47c2e20cd66af94","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-07T21:49:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"chore: improve comments","shortMessageHtmlLink":"chore: improve comments"}},{"before":"aa26576ed9a16bf38fcc1ce86950e320836f5ccb","after":"9fb1c87e05de0a1e3a22692ba861cb710a00e564","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-07T21:36:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"chore: improve documentation for setting lock ID to ETag value","shortMessageHtmlLink":"chore: improve documentation for setting lock ID to ETag value"}},{"before":"a657e41cf927532e1ed3621f3b1cc126d5735ff1","after":"aa26576ed9a16bf38fcc1ce86950e320836f5ccb","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-07T21:29:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"chore: wrap error correctly","shortMessageHtmlLink":"chore: wrap error correctly"}},{"before":"5c183b97578c4f3725a133ff894909c896a0b931","after":"a657e41cf927532e1ed3621f3b1cc126d5735ff1","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-07T21:25:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"feat: add lock file support for S3 backend","shortMessageHtmlLink":"feat: add lock file support for S3 backend"}},{"before":"58a36c34ecf55b0a917a9db5240a3162dd110d6b","after":"5c183b97578c4f3725a133ff894909c896a0b931","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-07T21:21:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"docs: remove deprecation warning","shortMessageHtmlLink":"docs: remove deprecation warning"}},{"before":"e989b7dd8a36435f2d84618a249f787e9057c036","after":"58a36c34ecf55b0a917a9db5240a3162dd110d6b","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-07T21:19:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"chore: align error messages","shortMessageHtmlLink":"chore: align error messages"}},{"before":"ed3dd6332e3d13b7aec0683aea0a8e90a1c43b6b","after":"e989b7dd8a36435f2d84618a249f787e9057c036","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-07T21:14:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"chore: support locking parallel locking when both `lockfile` as well as `dynamodb_table` is set","shortMessageHtmlLink":"chore: support locking parallel locking when both lockfile as well …"}},{"before":"821879a150d381c8bab4adb98a09bc26d0db954d","after":"ed3dd6332e3d13b7aec0683aea0a8e90a1c43b6b","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-03T18:43:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"docs: align description of 'lockfile' attribute in docs","shortMessageHtmlLink":"docs: align description of 'lockfile' attribute in docs"}},{"before":"eddf8f8b4cd5214a9b66e065162cafdcbba04751","after":"821879a150d381c8bab4adb98a09bc26d0db954d","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-03T18:01:22.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"chore: indicate that 'lockfile' is experimental\n\nSigned-off-by: Bruno Schaatsbergen ","shortMessageHtmlLink":"chore: indicate that 'lockfile' is experimental"}},{"before":"37280acb0b6c17ce4b6b929da401cb3bd6beb6c2","after":"eddf8f8b4cd5214a9b66e065162cafdcbba04751","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-03T16:44:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"chore: improve wording\n\nSigned-off-by: Bruno Schaatsbergen ","shortMessageHtmlLink":"chore: improve wording"}},{"before":"c4fe5afc0eb7ff9f5f16802fd46dcde647c93d0a","after":"3893edc22d9836fd6b2df88a483e38eafac92114","ref":"refs/heads/b/fix-secret-suffix","pushedAt":"2024-09-02T18:57:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"chore: consistent wording","shortMessageHtmlLink":"chore: consistent wording"}},{"before":"fbcc800e61a8599057aaed0e3a94f841866291df","after":"c4fe5afc0eb7ff9f5f16802fd46dcde647c93d0a","ref":"refs/heads/b/fix-secret-suffix","pushedAt":"2024-09-02T18:50:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"chore: add comment for clarity on what's happening","shortMessageHtmlLink":"chore: add comment for clarity on what's happening"}},{"before":"d89554fa97cbb7912129214c01e3a08b0833dbc9","after":"fbcc800e61a8599057aaed0e3a94f841866291df","ref":"refs/heads/b/fix-secret-suffix","pushedAt":"2024-09-02T18:40:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"docs: update description of `secret_suffix` to reflect the state file chunking mechanism","shortMessageHtmlLink":"docs: update description of secret_suffix to reflect the state file…"}},{"before":null,"after":"d89554fa97cbb7912129214c01e3a08b0833dbc9","ref":"refs/heads/b/fix-secret-suffix","pushedAt":"2024-09-02T18:34:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"chore: validate whether `secret_suffix` contains a trailing `-`","shortMessageHtmlLink":"chore: validate whether secret_suffix contains a trailing -<number>"}},{"before":"f5276b8464837d2bad22f629a79f72e82047d9a3","after":"37280acb0b6c17ce4b6b929da401cb3bd6beb6c2","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-01T22:46:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"feat: add lock integrity check using ETag as LockID\n\n* Implement lock integrity by setting the ETag of the lock file as the LockID when acquiring the lock.\n* During unlock operations, verify that the ETag of the lock file matches the provided LockID.","shortMessageHtmlLink":"feat: add lock integrity check using ETag as LockID"}},{"before":"e8b9a6649e1345b5818382c061ff3355219f0c10","after":"f5276b8464837d2bad22f629a79f72e82047d9a3","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-01T21:14:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"chore: improve wording around the lock file and its format","shortMessageHtmlLink":"chore: improve wording around the lock file and its format"}},{"before":"b8d6cd3e84356b25693bbbce6c30ae1d06013947","after":"e8b9a6649e1345b5818382c061ff3355219f0c10","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-01T21:11:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"chore: remove 'deprecated' comments","shortMessageHtmlLink":"chore: remove 'deprecated' comments"}},{"before":"7adb23d276dfdcaba09c7fc097727fef3c8d0c03","after":"b8d6cd3e84356b25693bbbce6c30ae1d06013947","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-01T21:10:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"chore: add documentation for `s3` backend lock file functions","shortMessageHtmlLink":"chore: add documentation for s3 backend lock file functions"}},{"before":"ce6c98e6c0b61390a49537d7f0c31acee335811e","after":"7adb23d276dfdcaba09c7fc097727fef3c8d0c03","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-01T20:57:08.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"chore: refactor Unlock method to branch to different unlocking mechanisms: file and DynamoDB","shortMessageHtmlLink":"chore: refactor Unlock method to branch to different unlocking mechan…"}},{"before":null,"after":"ce6c98e6c0b61390a49537d7f0c31acee335811e","ref":"refs/heads/use-s3-conditional-writes","pushedAt":"2024-09-01T19:07:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"feat: add lock file support for S3 backend\n\nAmazon S3 supports conditional writes, and by using the .tflock file, we can implement a locking mechanism. When a lock is acquired, other clients attempting to lock the same Terraform state file will receive an error until the lock is released. This commit introduces an opt-in feature for leveraging this new locking mechanism.","shortMessageHtmlLink":"feat: add lock file support for S3 backend"}},{"before":"64d1b075e4ad2e9f81501de61773ab0221472bca","after":"70fcc63c3643317ecc2d6b6a0485d47e7e8a55ea","ref":"refs/heads/main","pushedAt":"2024-09-01T15:00:33.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"bschaatsbergen","name":"Bruno Schaatsbergen","path":"/bschaatsbergen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58337159?s=80&v=4"},"commit":{"message":"cleanup after v1.10.0-alpha20240828 release","shortMessageHtmlLink":"cleanup after v1.10.0-alpha20240828 release"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQxMzo1MTozMC4wMDAwMDBazwAAAAS8BVrH","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQxMzo1MTozMC4wMDAwMDBazwAAAAS8BVrH","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0wMVQxNTowMDozMy4wMDAwMDBazwAAAASp4qr9"}},"title":"Activity · bschaatsbergen/terraform"}