Add support for managing the group dependency proxy via TF

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:

  1. 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
  2. conditional validation inside the SDK. You'll note this resource has a ValidateConfig function 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.

Edited by Patrick Rice

Merge request reports

Loading