Please fix my galaxy namespace

For last few months my namespace monolithprojects is broken. For some reason my namespace was split to two: monolithprojects and MonolithProjects.
When uploading new releases of roles, the roles are going to monolithprojects but ansible-galaxy install downloads roles from MonolithProjects (which are not updated and latest releases are missing)

My namespace Ansible Galaxy

   ansible-galaxy install monolithprojects.github_actions_runner
Starting galaxy role install process
- downloading role 'github_actions_runner', owned by monolithprojects
- downloading role from https://github.com/MonolithProjects/ansible-github_actions_runner/archive/1.18.7.tar.gz
- extracting monolithprojects.github_actions_runner to /home/mike/.ansible/roles/monolithprojects.github_actions_runner
- monolithprojects.github_actions_runner (1.18.7) was installed successfully

   ansible-galaxy info monolithprojects.github_actions_runner

Role: monolithprojects.github_actions_runner
        description: Deploy Github Actions private runner
        commit: b9446130396072f8e919742fb3ab0fc8c7cc934f
        commit_message: Merge pull request #191 from MonolithProjects/feat/ci

ci: adjust workflow triggers
        created: 2023-05-08T21:17:02.827720Z
        download_count: 137245
        github_branch: 1.18.7
        github_repo: ansible-github_actions_runner
        github_user: MonolithProjects
        id: 19739
        imported: 2023-12-02T23:28:55.952463
        modified: 2023-12-02T23:28:56.335793Z
        path: ('/home/mike/.ansible/roles', '/usr/share/ansible/roles', '/etc/ansible/roles')
        upstream_id: None
        username: MonolithProjects

Here you can see my role monolithprojects.github_actions_runner twice with different versions and download count. if you click on any of them, the ui will take you to the older release. Ansible Galaxy

@galaxy Can one of you help or does this actually need to go Red Hat support?

@galaxy could please someone look on this?

The github username is “MonolithProjects”, so the backend is defaulting to thinking that should be the namespace. In old galaxy, namespace names were managled and lowercased and substituted with underscores to try to conform to collection namespace requirements. That is probably why you were able to end up with a “monolithprojects” namespace. In the new galaxy, we have removed all the magic munging of namespaces and are adhering to exactly what the users are specifying with their import commands and in the content itself for predictability and consistency.

If you want to keep your github user as “MonolithProjects” but have your roles use “monolithprojects”, you’d need to add a “namespace” key in the meta/main.yml for all your roles that specifies “monolithprojects” as the true namespace. At import time, the backend code will use this namespace key as the source of truth …

After updating the source for all your roles on github, you should next delete all the roles in the “wrong” namespace via curl by their role id …

https://ansible.readthedocs.io/projects/galaxy-ng/en/latest/community/userguide/#http-client

You can’t permanently delete the “MonolithProjects” namespace as that will get auto created every time you login to the UI, but it doesn’t have to contain any roles.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.