runatlantis / atlantis

Terraform Pull Request Automation
https://www.runatlantis.io
Other
7.83k stars 1.06k forks source link

Ignore Repos where atlantis.yaml doesn't exist or projects is an empty list #5040

Open ConvoyTom opened 4 weeks ago

ConvoyTom commented 4 weeks ago

Community Note


Describe the user story As an Atlantis developer, I would like the ability to have Atlantis ignore repositories within my GitHub organization that do not have an atlantis.yaml defined OR have an atlantis.yaml file with no projects defined. We defined our web hooks on the organization level and have atlantis enabled for all repositories. Maintaining the list for only repositories that have anatlantis.yaml file or one with projects defined could become difficult to manage and lead to a negative developer experience.

We also have a non-standard naming convention for our repositories so filtering out libraries or other services that no not need terraform running is a headache.

We have experience situations where Atlantis plan will hang which results in a service not being able to merge. This happens on services that do not have an atlantis.yaml file as we configured Atlantis for all repos per reasons above

Describe the solution you'd like A server configuration flag such as --skip_atlantis_no_projects. It could default to false to maintain backwards compatibility.

Describe the drawbacks of your solution This would require Atlantis to clone each repository to scrape it to understand whether it contains an atlantis.yaml file or not.

Describe alternatives you've considered We could implement the web hooks at the service level. But this leads back to the original user story comment about maintaining that at the infrastructure level could become a headache as services are created weekly that are not exactly in our purview.

ConvoyTom commented 2 weeks ago

bump