Request - Allow to clone a linode but not delete!
It is crazy to me that the customisable permissions on cloud.linode.com doesn't allow for a developer account to clone a linode, but not delete a linode.
Obviously on our main live account, deleting would be the end of a 10-year business. So why can't we disable this ability for developer accounts?
Thanks for sharing your experience. I can't make any promises, but I will be happy to pass along your feedback to our team.
If I understand correctly, you would like to have a special Global Permission to prevent the deletion of services.
Rest assured, after a Linode has been around for a certain number of hours, if it is deleted, it will automatically have its disks preserved for a limited period time as a fail safe against accidental deletion.
Currently, cloning a Linode via the API requires an access token with linodes:read_write scope, User Permissions to read_write the Linode to be cloned and also requires User Global Permissions to add_linodes. To get a non-corrupt clone of a Linode, it is recommended that the Linode be shutdown before cloning. Shutting down a Linode also requires a user with read_write access to the Linode.
In an ideal world, a developer would not need access to a production server at the Cloud Manager level as all. The software needed to create a working server would be kept in a repository and deployed to a create a new development server. The developer would have full control over the development server until it went into production. Any live data needed from the production server could be copied to development. This would eliminate the need for downtime that would be required when cloning a server.
An alternative strategy to get around this would be to setup a gateway web interface on a server that the developer does not have control over. The server could use a privileged API token to issue shutdown, clone, and restart commands for a Linode on behalf of a developer. In this way a developer would not need credentials that could accidentally be used to delete any Linodes.