The forge has gained the capacity to have organizations that own modules, and for which multiple users can have access to.
This is a game changer for some organizations that manage puppet modules with a team: while they previously created an user account and shared access to it (by sharing password and not using 2FA, 2 bad practices), they can now rely on individual user accounts to access the organization modules without having to share sensitive data.
For these organizations, there is a challenge yet: they already have an existing user account for the organization, and cannot create an organization with this name because the name must be unique. Removing the existing user account and module does not looks nice neither because this would break deployments of users of these module.
It is therefore requested to have the ability to "promote" an user account to an organization so that a module foo-bar 1.0.0 is still available from the same URI after the transition.
Describe the Solution You Would Like
The first step would be for an member of the organization that needs to transform a user account into an organization account to create their own user account the usual way (no new feature needed for this step as registration already exist).
Then, this person logs-in with the legacy forge user used by the organization and which own the organization modules. They have an button "Promote this user account into an organization". When clicking on this button, they see a form where they are asked to fill-in the forge username of the first user which will be member of the organization.
On validation, either the change is immediate (the user is disconnected and have to sign in again with the user associated to the organization to manage the modules) or the promotion is "in progress" and the user designated as the next owner of the organization has to sign in and accept the promotion before it be effective.
Describe Alternatives You've Considered
Destroy old account and create an organization, loose history, and upload the last version of each module.
Use Case
The forge has gained the capacity to have organizations that own modules, and for which multiple users can have access to.
This is a game changer for some organizations that manage puppet modules with a team: while they previously created an user account and shared access to it (by sharing password and not using 2FA, 2 bad practices), they can now rely on individual user accounts to access the organization modules without having to share sensitive data.
For these organizations, there is a challenge yet: they already have an existing user account for the organization, and cannot create an organization with this name because the name must be unique. Removing the existing user account and module does not looks nice neither because this would break deployments of users of these module.
It is therefore requested to have the ability to "promote" an user account to an organization so that a module foo-bar 1.0.0 is still available from the same URI after the transition.
Describe the Solution You Would Like
The first step would be for an member of the organization that needs to transform a user account into an organization account to create their own user account the usual way (no new feature needed for this step as registration already exist).
Then, this person logs-in with the legacy forge user used by the organization and which own the organization modules. They have an button "Promote this user account into an organization". When clicking on this button, they see a form where they are asked to fill-in the forge username of the first user which will be member of the organization.
On validation, either the change is immediate (the user is disconnected and have to sign in again with the user associated to the organization to manage the modules) or the promotion is "in progress" and the user designated as the next owner of the organization has to sign in and accept the promotion before it be effective.
Describe Alternatives You've Considered
Destroy old account and create an organization, loose history, and upload the last version of each module.