Exclude .agents and .claude dirs from the GitLab package
What does this MR do?
The .agents/ and .claude/ directories are agent-tooling and configuration directories with no runtime role in the packaged components. They were being copied into the omnibus GitLab package via sync steps in config/software/, adding dead weight.
The package is meant to be as lean as possible, so this MR adds .agents and .claude to the sync exclusion lists for the GitLab-org-owned source trees that get bundled into the package:
config/software/gitlab-rails.rbconfig/software/gitlab-shell.rbconfig/software/gitlabsos.rb
Like the existing .git / .gitignore entries, these bare rsync-style patterns match the directories wherever they appear in the source tree, not just at the repository root.
Third-party upstream source trees synced into the package (chef-acme, compat_resource, nginx modules) are intentionally left untouched, since those upstreams do not carry GitLab agent-tooling directories. Components synced from this repo's own files/ directories (gitlab-ctl, gitlab-cookbooks, etc.) are not affected.
Related issues
Checklist
See Definition of done.
Required
- MR title and description are up to date, accurate, and descriptive.
- MR targeting the appropriate branch.
- Latest Merge Result pipeline is green.
- When ready for review, MR is labeled workflowready for review per the Distribution MR workflow.
For GitLab team members
- If
config/softwareorconfig/patchesdirectories are changed, make sure thebuild-package-on-all-osjob within theTrigger:ee-packagedownstream pipeline succeeded.