feat(integrations): add group harbor integration
-
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.
This code change adds support for managing Harbor container registry integrations at the GitLab group level. Harbor is a container registry service that stores and manages Docker images.
The main additions include:
-
Three new functions to handle Harbor integrations for groups:
- Set up a new Harbor integration with connection details (URL, project name, username, password)
- Disable an existing Harbor integration
- Get the current Harbor integration settings
- Configuration options that allow specifying Harbor server details and whether to inherit settings from parent groups.
- Comprehensive tests to ensure all three functions work correctly, including mock HTTP responses that simulate the GitLab API.
- Code reuse improvement by sharing the Harbor configuration structure between project-level and group-level integrations, eliminating duplicate code.
- Mock interface updates to support testing of the new Harbor group integration features.
The change also includes a minor fix to a comment format in the Makefile. Overall, this extends the existing Harbor integration functionality from just projects to also work with GitLab groups, allowing administrators to configure container registry access at a higher organizational level.
Resolves #2142 (closed)
Edited by 🤖 GitLab Bot 🤖