osinfra-io / terraform-datadog-google-integration

Terraform example module for Datadog Google Cloud Platform integration.
https://www.osinfra.io
GNU General Public License v2.0
1 stars 0 forks source link

Deprecation of Kitchen-Terraform #32

Closed brettcurtis closed 5 months ago

brettcurtis commented 5 months ago

Fixes #29

Summary by CodeRabbit

coderabbitai[bot] commented 5 months ago
Walkthrough ## Walkthrough This update involves significant changes across several files, primarily focusing on the deprecation of Kitchen-Terraform in favor of Terraform's native test framework. It includes updates to workflow configurations, pre-commit hooks, and module paths, alongside adjustments in the README documentation to reflect these changes. ## Changes | File Path | Change Summary | |------------------------------------------|--------------------------------------------------------------------------------| | `.github/workflows/test.yml` | Introduced "Terraform Tests" workflow, triggers on PRs and manual dispatches. | | `.pre-commit-config.yaml` | Updated `pre-commit/pre-commit-hooks` from `v4.5.0` to `v4.6.0`. | | `README.md` | Updated badges, paths, removed old tool references, updated setup commands. | | `fixtures/.../main.tf` | Updated module source path. | | `fixtures/.../tests/default.tftest.hcl` | Added new Terraform test configuration file. | | `global/README.md` | Updated `datadog` provider version from `3.36.1` to `3.37.0`. | ## Assessment against linked issues | Objective | Addressed | Explanation | |---------------------------------------------------------------------------------------------------|-----------|-----------------------------------------------------------------------------------------------| | Deprecation of Kitchen-Terraform and migration to Terraform's native test framework (#29, #107) | ✅ | | | Update project's codebase to remove dependencies on Kitchen-Terraform (#95) | ✅ | | | Ensure functionality and stability post Kitchen-Terraform removal (#95) | ❓ | Requires further validation through testing to confirm stability. | | Communicate changes related to Kitchen-Terraform deprecation to stakeholders (#95) | ❌ | No evidence of communication or documentation changes intended for stakeholders found. | ## Possibly related issues - **osinfra-io/terraform-google-cloud-sql#36**: Similar objectives around Kitchen-Terraform deprecation suggest this change is relevant. - **osinfra-io/terraform-google-cloud-dns#16**: Deprecation of Kitchen-Terraform aligns with the changes made in the PR. - **osinfra-io/terraform-google-cloud-nat#17**: The shift to Terraform's native testing framework may also impact this project. - **osinfra-io/terraform-google-vpc#20**: Updates to testing frameworks are pertinent due to shared deprecation objectives. - **osinfra-io/terraform-google-storage-bucket#35**: The removal of Kitchen-Terraform and use of native testing are applicable.

Recent Review Details **Configuration used: CodeRabbit UI**
Commits Files that changed from the base of the PR and between b22d32a6fbc907cc0e754d57637eda5d0c38ad67 and ed579516c54a3e99f8a9bb586eb116d45c4c3841.
Files ignored due to path filters (1) * `Gemfile.lock` is excluded by `!**/*.lock`
Files selected for processing (6) * .github/workflows/test.yml (1 hunks) * .pre-commit-config.yaml (1 hunks) * README.md (4 hunks) * fixtures/default/main.tf (1 hunks) * fixtures/default/tests/default.tftest.hcl (1 hunks) * global/README.md (1 hunks)
Additional Context Used
Learnings (1)
fixtures/default/main.tf (1)
``` User: brettcurtis" PR: osinfra-io/terraform-google-kubernetes-engine#41 File: test/fixtures/gke_fleet_member/regional_istio/main.tf:54-61 Timestamp: 2024-03-14T01:05:00.404Z Learning: In the context of kitchen-terraform and similar testing tools for infrastructure as code, using local source paths in test fixtures is a standard practice to test changes locally before they are committed to a remote repository. This practice is distinct from production code deployment, where versioned module sources from remote repositories are recommended. ```
Additional comments not posted (6)
fixtures/default/tests/default.tftest.hcl (1)
`1-3`: The test configuration using Terraform's native test framework is correctly set up.
fixtures/default/main.tf (1)
`15-15`: The update in the module source path is correctly adjusted for local testing environments.
.pre-commit-config.yaml (1)
`6-6`: The update to version `v4.6.0` for the `pre-commit/pre-commit-hooks` is appropriate and likely includes useful improvements.
.github/workflows/test.yml (1)
`1-28`: The new GitHub Actions workflow for Terraform tests is well-configured and appropriately triggered by relevant events.
global/README.md (1)
`14-14`: The documentation correctly updates the `datadog` provider version to `3.37.0`.
README.md (1)
`62-76`: > :memo: **NOTE** > This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [5-73] The updates to the README, including the new GitHub Actions badges, directory path tips, and Terraform test commands, are well-executed and enhance the documentation.
---
Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit .` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai generate interesting stats about this repository and render them as a table.` - `@coderabbitai show all the console.log statements in this repository.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (invoked as PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger a review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai help` to get help. Additionally, you can add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. ### CodeRabbit Configration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](https://discord.com/invite/GsXnASn26c) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
infracost[bot] commented 5 months ago

💰 Infracost report

Monthly cost will not change

Changed project Baseline cost Usage cost* Total change New monthly cost
fixtures-default +$0 +$25 +$25 $25
test-fixtures-default_integration +$0 -$25 -$25 $0

*Usage costs were estimated using Infracost Cloud settings, see docs for other options.

Cost details ``` Key: * usage cost, ~ changed, + added, - removed ────────────────────────────────── Project: fixtures-default Module path: fixtures/default + module.test.google_pubsub_subscription.integration +$15 + Message delivery data +$5, +0.125 TiB* + Retained acknowledged message storage +$5, +18 GiB* + Snapshot message backlog storage +$5, +18 GiB* + module.test.google_logging_project_sink.integration +$5 + Logging data +$5, +10 GB* + module.test.google_pubsub_topic.integration +$5 + Message ingestion data +$5, +0.125 TiB* Monthly cost change for fixtures-default (Module path: fixtures/default) Amount: +$25 ($0.00 → $25) ────────────────────────────────── Project: test-fixtures-default_integration Module path: test/fixtures/default_integration - module.test.google_logging_project_sink.integration -$5 - Logging data -$5, -10 GB* - module.test.google_pubsub_topic.integration -$5 - Message ingestion data -$5, -0.125 TiB* - module.test.google_pubsub_subscription.integration -$15 - Message delivery data -$5, -0.125 TiB* - Retained acknowledged message storage -$5, -18 GiB* - Snapshot message backlog storage -$5, -18 GiB* Monthly cost change for test-fixtures-default_integration (Module path: test/fixtures/default_integration) Amount: -$25 ($25 → $0.00) ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed *Usage costs were estimated using Infracost Cloud settings, see docs for other options. 11 cloud resources were detected: ∙ 3 were estimated ∙ 8 were free ```

Governance checks

🟢 53 passed
52 FinOps policies and 1 Tagging policy passed.

View report in Infracost Cloud. This comment will be updated when code changes.