Make repository tags immutable
<!--IssueSummary start-->
<details>
<summary>
Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards.
</summary>
- [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=456102)
</details>
<!--IssueSummary end-->
<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
<!-- Use this section to explain the feature and how it will work. It can be helpful to add technical details, design proposals, and links to related epics or issues. -->
<!-- Consider adding related issues and epics to this issue. You can also reference the Feature Proposal Template (https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20proposal%20-%20detailed.md) for additional details to consider adding to this issue. Additionally, as a data oriented organization, when your feature exits planning breakdown, consider adding the `What does success look like, and how can we measure that?` section.
-->
When mirroring a repository with a workflow that mirrors tags from the upstream repo, we may need to make sure the tag once mirrored can be set to immutable for security purposes in the case where the upstream repository were to be compromised and make changes to the tags.
A customer ticket requested this feature from this [ticket](https://gitlab.zendesk.com/agent/tickets/512180) (Internal only):
> What we need is a mechanism that ensures once a tag has been mirrored from the upstream repo, it never changes again (i.e. becomes immutable).
### Alternatives tried
- Use of protected tags by using wildcard tags - this fails with the error `You are not allowed to create tags: 'x.y.z' as they are protected
- Using single protected tags - would be tedious to set every new tag.
<!-- Label reminders
Use the following resources to find the appropriate labels:
- Use only one tier label choosing the lowest tier this is intended for
- https://gitlab.com/gitlab-org/gitlab/-/labels
- https://about.gitlab.com/handbook/product/categories/features/
-->
issue