Redirect management
Port the rake task that translates YAML redirects to GitLab Pages redirects.
Possible steps
redirects
task
Source: https://gitlab.com/gitlab-org/gitlab-docs/-/blob/main/lib/tasks/redirects.rake?ref_type=heads#L11
- Add this as a new command to our existing Go CLI tools (in the
cmd
directory, similar toclone.go
andmigrate.go
). Maybe this can bemaintenance.go
, or something like that. - Copy over redirects.yaml from gitlab-docs. Note that these might need to be transformed (similar to what we do with navigation.yaml).
- For this, if it's easier, let's just put redirects.yaml in Git now and have a manual step as part of launch to update it with new content, no need to refresh it hourly like we do w/ the global nav.
- Add a Go script to create a gitlab pages
_redirects
file from redirects.yaml, same logic as the current one.
clean_redirects
task
TBD: should we implement this one after launch? There's no harm for now in holding onto redirects for longer than we currently do (if we're well within the Pages limit of 1000 redirects -- need to check on that).
- Extend the
maintenance.go
command created above - Consider using glab (gitlab CLI) for the MR pieces
Redirects tests
-
Review redirect-related tests (
check_duplicate_redirects
) and modify as needed, bringing over the same functionality as we currently have. -
These run in
gitlab
: https://gitlab.com/gitlab-org/gitlab/-/blob/master/scripts/lint-docs-redirects.rb#L54. Do these also run in other projects? Are these documented anywhere?
--
There are open issues for these tools that we may need to resolve here as well:
With this issue, we should also port over all existing redirects, and modify them as needed to fit any path changes.