-
Notifications
You must be signed in to change notification settings - Fork 561
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
add flag to ignore all external directories per project #1851
add flag to ignore all external directories per project #1851
Conversation
WalkthroughThe changes in this pull request introduce enhancements to the Changes
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
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 using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
🧹 Outside diff range and nitpick comments (3)
libs/digger_config/yaml.go (1)
147-147
: Add documentation and consider field placementThe new
TriggerProjectsFromDirOnly
field needs documentation to explain its purpose and impact. Consider grouping it with related fields for better organization.+ // TriggerProjectsFromDirOnly when enabled, only considers file changes within + // the project directory for triggering updates. Changes to files outside the + // project directory are ignored. TriggerProjectsFromDirOnly bool `yaml:"triggerProjectsFromDirOnly"`libs/digger_config/digger_config.go (2)
565-569
: Improve error handling for path filteringThe error handling for
FilterPathsOutsideOfProjectPath
could be more specific to help with debugging.if parsingConfig.TriggerProjectsFromDirOnly { - atlantisProject.Autoplan.WhenModified, err = FilterPathsOutsideOfProjectPath(projectDir, atlantisProject.Autoplan.WhenModified) + filteredPaths, err := FilterPathsOutsideOfProjectPath(projectDir, atlantisProject.Autoplan.WhenModified) + if err != nil { + return fmt.Errorf("failed to filter paths for project %s: %v", atlantisProject.Name, err) + } + atlantisProject.Autoplan.WhenModified = filteredPaths }
565-569
: Add code comments to explain the path filtering behaviorThe path filtering logic would benefit from documentation explaining when and why paths are filtered.
+ // Filter out paths that are outside of the project directory when TriggerProjectsFromDirOnly is enabled. + // This ensures that changes to external directories don't trigger unnecessary project updates. if parsingConfig.TriggerProjectsFromDirOnly { atlantisProject.Autoplan.WhenModified, err = FilterPathsOutsideOfProjectPath(projectDir, atlantisProject.Autoplan.WhenModified) }
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (4)
libs/digger_config/digger_config.go
(1 hunks)libs/digger_config/utils.go
(2 hunks)libs/digger_config/utils_test.go
(1 hunks)libs/digger_config/yaml.go
(1 hunks)
🔇 Additional comments (1)
libs/digger_config/yaml.go (1)
147-147
: Verify impact on existing projects
The introduction of TriggerProjectsFromDirOnly
could change behavior for existing projects that rely on external file triggers. Please ensure this is documented in release notes and migration guides.
* add flag to ignore all external directories per project (#1851) * add flag to ignore all external directories per project * revert includeparentblocks flag (#1852) * improve efficiency in terragrunt generation (#1854) * improve efficiency in terragrunt generation * Update action.yml (#1856) * handle crashes in goroutine events (#1857) * fix/recover from webhook goroutines (#1858) * handle crashes in goroutine events * include stacktrace in errors * wip generation of terraform code from application code (#1855) * terraform code generation demo --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: incorrect comment in backend/migrations (#1860) * Update setup-opentofu to fix issues with 1.6.x downloads (#1861) * restructure docs to have no columns (#1862) * Create curl_bootstrap.sh * refactor codegen parts (#1863) * refactor codegen parts * publish ai summaries (#1864) * publish ai summaries * add a header for summary comment (#1865) * fix heading (#1866) --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Aldo <[email protected]> Co-authored-by: Hugo Samayoa <[email protected]>
This will introduce a parameter called
triggerProjectsFromDirOnly
which if set will cause generation to not have include_patterns outside of the project directories itself:Usage:
it will cause generated projects to only be reflected from the directory itself, for example if the expected include_patterns would be:
"staging/aws/us-east-1/k8s/.hcl", "staging/terragrunt-root.hcl vpc/.tf*", "staging/aws/us-east-1/aws_region.tfvars", "staging/aws/aws_assume_role_arn.tfvars", "staging/aws/us-east-1/k8s/.tf"
and the project directory is staging/aws/us-east-1/k8s then only these paths will be considered:
"staging/aws/us-east-1/k8s/.hcl", "staging/aws/us-east-1/k8s/.tf*"
Summary by CodeRabbit
New Features
Bug Fixes
Tests