Releases: cloudposse/github-action-terraform-plan-storage
v2.0.0
Google backends: gcs and firestore (#35) @goruha (#36)
## whatUse google services to store state (gcs) and metadata (firestore)
why
For those who use google cloud it is hard to adopt atmos as all the GH tooling is built around AWS. This PR and several other fixes that.
references
See also related PRs in:
- cloudposse/github-action-atmos-terraform-plan#93
- cloudposse/github-action-atmos-terraform-apply#64
- cloudposse/github-action-atmos-affected-stacks#55
Usage
To use the GCP implementation, specify planRepositoryType as gcs and metadataRepositoryType as firestore, then provide the following GCP-specific settings: googleProjectId to specify the project for both GCS bucket and Firestore, bucketName for GCS storage, and googleFirestoreDatabaseName/googleFirestoreCollectionName for Firestore metadata.
The component, stack, planPath, and action parameters work the same way as in AWS and Azure examples.
- name: Store Plan
uses: cloudposse/github-action-terraform-plan-storage@v2
id: store-plan
with:
action: storePlan
planPath: my-plan.tfplan
component: mycomponent
stack: core-mycomponent-use1
planRepositoryType: gcs
metadataRepositoryType: firestore
bucketName: my-terraform-plans
gcpProjectId: my-gcp-project
gcpFirestoreDatabaseName: terraform-plan-metadata
gcpFirestoreCollectionName: terraform-plan-storage
- name: Get Plan
uses: cloudposse/github-action-terraform-plan-storage@v2
id: get-plan
with:
action: getPlan
planPath: my-plan.tfplan
component: mycomponent
stack: core-mycomponent-use1
planRepositoryType: gcs
metadataRepositoryType: firestore
bucketName: my-terraform-plans
gcpProjectId: my-gcp-project
gcpFirestoreDatabaseName: terraform-plan-metadata
gcpFirestoreCollectionName: terraform-plan-storage
🤖 Automatic Updates
v1.15.0
Fix dynamodb scan paginator @goruha (#32)
what
- Support pagination for
DynamoDBscan
why
- Because scan works by batch 1Mb of data.
If the total size of scanned items exceeds the maximum dataset size limit of 1 MB, the scan completes and results are returned to the user. The LastEvaluatedKey value is also returned and the requestor can use the LastEvaluatedKey to continue the scan in a subsequent operation.- Fix
false negativesget plan cases
references
v1.14.0
Fix CVE-2023-26136 @goruha (#30)
what
- Update
@azure/ms-rest-js@^2.6.6to@azure/ms-rest-js@^2.7.0
why
@azure/ms-rest-js@^2.7.0drops dependency@tough-cookiethat have vulnerability https://nvd.nist.gov/vuln/detail/CVE-2023-26136
references
v1.13.0
v1.12.0
v1.11.0
v1.10.0
v1.9.0
v1.8.0
v1.7.0
QueryCommandInput for Latest from PR @milldr (#16)
what
- Use a
QueryCommandInputinstead of aScanCommandInputto get the latest change from a PR - Remove
Limitfrom PR command
why
QueryCommandInputshould be used withQueryCommandto filter and pull the latest DynamoDB table entry- Without this change, the action always fails to find the plan entry even if the entry is valid
{"message":"The plan for demo-new in the stack plat-use2-sandbox for pr 22 does not exist."}
- Limit will only return the most recent result before filtering. This means only the most recent planfile will be returned across all PRs, not our specific PR
A single Query operation will read up to the maximum number of items set (if using the Limit parameter) or a maximum of 1 MB of data and then apply any filtering to the results using FilterExpression.
