Add support for managing the group dependency proxy via TF
-
Please check this box if this contribution uses AI-generated content (including content generated by GitLab Duo features) as outlined in the GitLab DCO & CLA. As a benefit of being a GitLab Community Contributor, you receive complimentary access to GitLab Duo.
Add support for group dependency proxy to TF. We'll likely want to get this merged in with %17.11 since the docker hub rate limits will go into effect shortly and potentially cause difficulties for some of our users.
Note - this is separate from the project package dependency proxy (I'll have a separate MR for that shortly).
Why not an attribute on gitlab_group?
I debated this, but had several issues with it:
- that doesn't match our principles - specifically, one API -> one resource. Group and Project already don't match those principles somewhat, but attempting to implement that meant we ran into others also, like
- conditional validation inside the SDK. You'll note this resource has a
ValidateConfigfunction because of how identity/secret are conditionally required when enabled, and would break if set when disabled (because the API would always return "" for them). This requires a framework resource.
With these two things combined, I determined it would be better to implement this as a stand-alone resource (and will do similar for the package proxy resource). I think in 18.X I'm going to work on finally refactoring project/group to framework resources, and I'll open a separate issue to deal with that migration which will take a couple releases since they're so large/commonly used.